Форум программистов, компьютерный форум CyberForum.ru

Консольный морской бой - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.10.2010, 13:25     Консольный морской бой #1
Привет всем.
Вот поле:
int Matrix[10][10];
Размещаем корабль на х = 5, y = 5:
Matrix[5][5] = 0;
0 значит на эту координату больше нельзя размещать корабль(координата занята).

Подскажите пожалуйста хороший алгоритм для установки значения 0 для всех 8 соседних координат
Matrix[5][4],Matrix[5][6],Matrix[4][5],Matrix[6][5],Matrix[4][4],Matrix[6][6],Matrix[4][6],Matrix[6][4]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2010, 13:25     Консольный морской бой
Посмотрите здесь:

C++ Морской бой в С
C++ Морской Бой
Консольный морской бой. Расстановка кораблей C++
C++ Консольный морской бой
C++ Морской бой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
09.10.2010, 15:36     Консольный морской бой #2
NikolaWhite,

C++
1
2
3
4
5
6
7
8
9
for(int i=n-1; i<=n+1; ++i)
{
    for(int j=n-1; j<=n+1; ++j)
    {
         if(i==n&&j==n)
            continue;
         Matrix[i][j]=0;
    }
}
Не самый хороший, но вроде удовлетворяет условиям.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.10.2010, 16:15  [ТС]     Консольный морской бой #3
Спасибо конечно, но я прибегну к такому:
C++
1
Matrix[n][n-1] = Matrix[n][n] = Matrix[n][n+1] = Matrix[n-1][n-1] = Matrix[n-1][n] = Matrix[n-1][n+1] = Matrix[n+1][n-1] = Matrix[n+1][n] = Matrix[n+1][n+1] = 0;
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
09.10.2010, 17:50     Консольный морской бой #4
Непровеял, но думаю работает.

C
1
2
3
4
5
6
7
8
...
int i;
for( i = 0; i < 9; i++ )
  if( i == 5 )
    continue;
  else
    matrix[centery-1+(i/3)][centerx-1+(i%3)];
...
Yandex
Объявления
09.10.2010, 17:50     Консольный морской бой
Ответ Создать тему
Опции темы

Текущее время: 05:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru