我正在使用Java創建一個戰列艦遊戲,我無法隨機生成2個隨機數字,這些隨機數字會在戰艦板上選擇一個地方。例如,電腦必須在電路板上隨機選擇一個空間放置船隻(以後再拍攝)。在二維數組中生成隨機數
我創建了一個二維數組:
int rows = 10;
int cols = 10;
char [][] grid;
grid = new char[rows][cols];
,然後試圖幾種不同的方式來獲取數組中的兩個隨機數,但我無法得到它的工作。下面是我所嘗試過的例子:
int randomPos = (char) (Math.random() * (grid[rows][cols] + 1));
請問我一些問題,如果這沒有意義。
肖恩
這是AI猜測位置投擲炸彈嗎?如果是這樣,你不需要重複的位置,所以最好將所有可能的位置放在一個列表中,然後使用'java.util.Collections.shuffle(List)'它們。 –
@Steve Taylor是的,但我認爲我必須做同樣的事情來爲電腦選擇隨機職位來放置他們的船。那會做什麼? – Sean
混洗只是按隨機順序重新排列列表中的項目。在船上放置船是完全不同的事情。在這種情況下,最簡單的方法就是蠻力 - 只要不斷嘗試隨機的位置和方向,直到船舶適合,重複相同的要放置的所有船隻。 –