我創建了一個程序,我可以在2D陣列的邊界內隨機放置兩個隨機方向(水平或垂直)的船舶。C編程 - 戰列艦計劃 - 如何防止船舶重疊?
,我現在面臨試圖阻止船隻重疊......
這裏唯一的問題是從我的代碼片段:
for(rw = 0; rw < SIZ; rw++)
{
printf("%c | ", a++);
for(column = 0; column < SIZ; column++)
{
board[rw][column] = ' ';
for(i = 0; i < 4; i++)
{
if(battleship[i].column == column)
{
if(battleship[i].rw == rw)
{
board[rw][column] = 'B';
}
}
}
for(i = 0; i < 5; i++)
{
if(carrier[i].column == column)
{
if(carrier[i].rw == rw)
{
board[rw][column] = 'A';
}
}
}
printf("%c ", board[rw][column]);
}
printf("|\n");
}
如何檢查,看是否有船是否已經存在,如果存在,請從頭重新啓動循環,清除現有值?
建議當船舶被放置,設置相應的陣列位置指示船的存在,然後將另一艘船的時候,看看新的陣列位置以確保沒有任何東西存在,然後再實際修改新船的陣列 – user3629249 2014-11-23 10:58:05
刪除您的整個代碼*不是'錯字修正',並且使答案無效。請不要這樣做。 – usr2564301 2014-11-23 17:34:26