![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Морской бой и матрица :)
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. При этом запоминаются координаты подбитого (раненого) корабля. Если корабль убит, то, по этим координатам не так уж и сложно очертить А вокруг него.