Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ морской бой (растановка кораблей)

Автор: Ostin 1.07.2006 15:51

помагите, подскажите как сделать расстановку кораблей!? + чтоб компьютер автоматически корабли раставлял + чтоб все ставилось правельНО! зарание большое спасибо.

Автор: Ostin 1.07.2006 21:04

вот что уже есть!) не по делу, но все равно!


Прикрепленные файлы
Прикрепленный файл  SEA_WAR1.PAS ( 6.09 килобайт ) Кол-во скачиваний: 456

Автор: SKVOZNJAK 11.07.2006 15:43

У тебя управление с клавиатуры не пашет. Начиная с самой первой менюшки. Обычно, в таких случаях я использую CASE и GOTO. Но за гото тебя повесят smile.gif А эмуляция этого оператора при помощи двадцати других обычно долгая и кривая.
Сначала научи прогу выставлять корабли параллельно, в одном направлении. Выбор координат компьютером делай случайным образом при помощи Random Только вначале проги один раз вставь Randomize для инициализации генератора случайных чисел. После того как выбрал координату проверь, нет ли уже на клетке или на соседних корабля. Если есть, внеси клетку в "чёрный список" чтобы больше не проверять. После проверяй другие клетки корабля на отсутствие противопоказаний. Если таковые обнаружатся внеси координату первой клетки во временный чёрный список нужный для того, чтобы не ставить корабль опять на эту клетку.
Да, кстати, игровое поле сделай в виде массива BYTE. Все логические операции с координатами только с цифрами. Буквы только для ввода\вывода пользователя. Соответственно время от времени координаты придётся конвертировать - буквы в цифры и наоборот. Это опять проще делать на CASE