Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
KDE2inFreeBSD
3 / 3 / 1
Регистрация: 19.01.2013
Сообщений: 113
#1

Консольный морской бой, реализация циклами - C++

20.04.2014, 11:51. Просмотров 579. Ответов 1
Метки нет (Все метки)

Создал 2 поля, для 2-х игроков. Как разместить на нем корабли(пользователь вводит координаты размещения) начиная от 4-х палубного и заканчивая 1 палубным для 1 игрока, а потом для 2-го игрока. Но без функций, а только циклами? Работаю в CodeBlocks
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
 
int main()
{
    vector <vector <char> > pole1;
    pole1.resize(10);
 
        for(int i=0; i< pole1.size(); i++)
        pole1[i].resize(10);
vector <vector <char> > pole2;
    pole2.resize(10);
        for(int i=0; i<pole2.size(); i++)
            pole2[i].resize(10);
 
for(int i=0;i<10;i++)
        {
                if (i==1)
                {
                        char line[11]={'a','b','c','d','e','f','g','h','i','j','\0'};
                        int a=0;cout<<"   ";
                        while(line[a]!='\0')
                         {
 
                                        cout<<line[a];
                                        cout<<" ";
                                        a++;}
                         a=0;
                        cout<<"          ";
                        while(line[a]!='\0')
                        {
                                        cout<<line[a];
                                        cout<<" ";
                                        a++;
                        }
                        cout<<endl<<endl;
                }
                }
 
    for(int i=0; i< pole1.size(); i++) {
            cout<< setw(2) << i+1 << " ";
        for(int j=0; j<pole1[i].size(); j++){
            pole1[i][j] = 177;
            cout << pole1[i][j]<< " ";
        } cout << "       ";
        cout<< setw(2) << i+1 << " ";
  for(int j=0; j<pole2[i].size();j++){
            pole2[i][j]=177;
        cout <<pole2[i][j]<<" ";
    }
 
        cout << endl<< endl;
           }
 
    return 0;
}


Добавлено через 2 минуты
Еще есть такая функция, на проверку пустого пространства вокруг корабля. Но не знаю как сделать вывод самих кораблей, и как изменить функцию на циклы
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function Freedom (x, y: Integer; Pole: TPole): Boolean;
const d: array[1..8,1..2] of Integer =
      ((0,1),(1,0),(0,-1),(-1,0),(1,1),(-1,1),(1,-1),(-1,-1));
var i: Integer;
    dx, dy: Integer;
begin
  if (x > 0) and (x < 11) and (y > 0) and (y < 11) and (Pole[x,y] = -1) then
  begin
    for i := 1 to 8 do
    begin
      dx := x + d[i,1];
      dy := y + d[i,2];
      if (dx > 0) and (dx < 11) and (dy > 0) and (dy < 11) and (Pole[dx,dy] > -1) then
      begin
        Result := False;
        Exit;
      end; {if}
    end; {for}
    Result := True;
  end else Result := False;
end; {func Freedom}


Добавлено через 17 часов 43 минуты
хотя бы тривиальный пример размещения кораблей пользователем, без проверки на свободные клетки, но циклами?
http://www.cyberforum.ru/cpp-beginners/thread689264.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 11:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Консольный морской бой, реализация циклами (C++):

Консольный морской бой
Доброй ночи, уважаемые форумчане! Собственно, нашел код на просторах интернета,...

Консольный морской бой
Привет всем. Вот поле: int Matrix; Размещаем корабль на х = 5, y = 5:...

Консольный морской бой
Здравствуйте! Помогите мне пожалуйста. Я пытаюсь сделать так .чтобы корабль...

Консольный морской бой. Stack overflow
Вечер добрый! Очень надеюсь на помощь. Мучаюсь уже который день, уйму часов...

Консольный морской бой. Расстановка кораблей
Добрый вечер, уважаемые форумчане. Хочу написать консольный морской бой. Начал...

1
KDE2inFreeBSD
3 / 3 / 1
Регистрация: 19.01.2013
Сообщений: 113
27.04.2014, 18:23  [ТС] #2
up!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2014, 18:23
Привет! Вот еще темы с решениями:

Написать консольный морской бой с использованием ООП
Вечер добрый! Хочу написать консольный морской бой. Требования такие: 1....

Морской бой
Пытаюсь написать простейший морской бой на основе классов. В ходе работы...

Морской Бой на C++
Помогите пожалуйста написать морской бой на C++ ,не сильно замороченный,...

морской бой
в моем классе не вызываются поля через точку.в чем проблема? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru