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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
#1

консольный морской бой - размещение кораблей - C++

29.11.2011, 19:25. Просмотров 802. Ответов 0
Метки нет (Все метки)

Доброго времени суток!
Взялся за консольный морской бой. Сейчас на стадии расстановки компьютером кораблей.
Одним из условий является то, что нельзя ставить два корабля впритык. То есть, вокруг него должны быть свободные клетки.
C++
1
2
3
4
5
while(b[cifra1][cifra_bukva1] != ' ' || b[cifra1 + 1][cifra_bukva1] != ' ' || b[cifra1 - 1][cifra_bukva1] != ' ' || b[cifra1][cifra_bukva1+1] != ' ' || b[cifra1 ][cifra_bukva1-1] != ' ' || b[cifra1+1][cifra_bukva1+1] != ' ' || b[cifra1-1][cifra_bukva1-1] != ' ' || b[cifra1-1][cifra_bukva1+1] != ' ' || b[cifra1+1][cifra_bukva1-1] != ' ')
        {
            cifra1 = 1 + rand() % 10;
            cifra_bukva1 = 1 + rand() % 8;
        }
Делаем проверку всех клеток вокруг корабля. Если где-нибудь в центре поля, то все ок. Но если мы поставим, например, в верхний левый угол, то происходит зацикливание.
Вероятно из-за того, что мы хотим проверить клетки левее и выше (а выше и левее нету - использовано двумерный массив и выходит, что верхний левый элемент [0][0] и если отнимим -1, то будем искать непонятно где)
Посоветуйте, пожалуйста, как бы избежать подобную ошибку?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 19:25     консольный морской бой - размещение кораблей
Посмотрите здесь:

C++ Консольный морской бой
C++ Морской бой. Ф-ция автоматической рассатновки кораблей.
Консольный морской бой. Расстановка кораблей C++
C++ Консольный морской бой
Расстановка кораблей (морской бой) C++
C++ Консольный морской бой, реализация циклами
Консольный морской бой. Stack overflow C++
Морской бой: расставляется кораблей больше, чем положено C++
Случайное распределение кораблей по полю в игре "морской бой" C++
Морской бой - программа зацикливается на расстановке кораблей C++
C++ Написать консольный морской бой с использованием ООП
C++ Проверить правильность расстановки кораблей. Морской бой

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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