Насчет rand() конечно мне не понятно, ведь поидеи нужно сначало инициализировать генератор, возможно это уже реализовано автоматически.
добавлено через 1 час 7 минут
void DefineCPUShips() { Как я понимаю, то это функция расставляет кораблики
int cntx, cnty;
int px,py, cnt;
int isOK=0;
int deck=4, Left=1;
int direction=0;
while (!isOK) {
px=Randomize9();
py=Randomize9();
direction=ThrowCoin(); <-- тут получаем направление
if (!direction && px<=6 || direction && py<=6) isOK=1; <-- Это вообще сомнительно всё. А если этому условию не будет соответствовать примерно n-ое кол-во раз? Как я понял ты старался сделать условия так, чтобы при генерации корабля, он не выпал за рамки самого поля.
}
for (cnt=0; cnt<3; cnt++) <-- Ясное дело заполняем поле, но почему 3-х палубным корабликом?
if (!direction) fieldCPU[px+cnt][py]=1;
else fieldCPU[px][py+cnt]=1;
RepaintGrid(CPU);
}
Я бы сделал это при помощи рекурсивной функции.
Последний раз редактировалось mushue; 04.10.2006 в 12:25.
Причина: добавил подумав
|