Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Морской бой и матрица :)


f0rm ©   (2002-02-17 00:00:00) 

Пишу игрушку(точнее уже написал) морской бой - по принципу той игры, что играют
на бумаге, ну типа говоришь А5, Б3 и т.д. Дак вот например имеем матрицу

NNNSNNNNNN
NNANNNSNNS
SNNNNNSNNN
NNNNNNNNNN
NSNANNRNNN
NSNNNNNNNN
NNNNNRRNNN
NANNNNNNNN
NNNNNNNNNN
NNNSSSSNNN

N - Еще не стреляли в данный сектор
A - Стреляли, но не попали(мимо)
S - Корабль, еще не тронутый
R - Подбитый корабль

Дак вот как определить, что корабль по 7,5 умер и очертить "A" вокруг него, а
также заменить"R" на "D"? Или например тоже самое для корабля 6,7/7,7 ???


Дмитрий А.   (2002-02-17 00:40:00) [1]

На самом деле определить это по вышеуказанному способу не удастся не удастся, т.к. при неоходимо иметь как минимум 2 матрицы - 1-я с расположением кораблей (Y - корабль, N - пусто), а 2-я другая с попаданиями/промахами. После кажного выстрела проверяется попадание и в случае если таковое произошло, во второй матрице заменяется S на R. Затем осуществляется последовательный перебор первой матрицы по вертикали/горизонтали и проверяется совпадение Y и S. При этом запоминаются координаты подбитого (раненого) корабля. Если корабль убит, то, по этим координатам не так уж и сложно очертить А вокруг него.


Наверх

Титульная страница Поиск, карта сайта Написать письмо