-1
我被告知要製作一個10x10字段的shipbattle遊戲項目。現在我需要知道如何在現場隨機生成船的位置(這是一個10x10陣列)。這些字段不能彼此重疊,它們不能彼此相鄰。它們也可以是水平或垂直的。填寫船戰鬥遊戲板C
我需要把下列船舶:船 五1場 1艘四個字段 2艘三個字段 3艘兩名 4船之一
我真的不看我怎麼能做到這一點。這是我到目前爲止:
void generateField(int field[][dim])
{
int i,j;
for (i=0; i<dim; i++)
{
for (j=0; j<dim; j++)
{
field[i][j] = 0;
}
}
}
這使得該字段全部爲零。我想生成像我之前說的船
是否有可能把這樣的前幾船,其他人沒有留下空間?那麼這項任務會更具挑戰性。否則,它歸結爲一個接一個放置它們。你將需要一個例行的碰撞測試。 (「給定長度爲l的船,起始於x,y,方向爲N,W,S或E,是重疊還是離開邊界或有鄰居?」)然後,通過你的船進行迭代;一次又一次地隨機選擇候選人的起始座標和方向,直到你的例程說好。 – 2014-10-02 08:37:30