我用Python創建了一個戰艦遊戲。目前,遊戲中有一個簡單的人工智能,它隨機猜測它在棋盤上還沒有猜到的地方,試圖找到兩塊大型戰列艦。我正在通過給AI一個模式來讓AI更加聰明。爲了生成AI的猜測,我使用下面的代碼。戰艦遊戲AI猜測同樣的東西
while X == 0 | Y == 0:
X = 0
Y = 0
guess_col = guessCol(0, size - 1)
guess_row = guessRow(0, size - 1)
# Make sure the guess follows the pattern
if (guess_col + guess_row)%2 != 1:
X = 1
# Make sure the spot has not already been guessed
if board[guess_row][guess_col] != "~":
Y = 1
董事會看起來像下面這樣。
1 2 3 4 5 6 7 8 9
1 ~ ~ ~ ~ ~ ~ ~ ~ ~
2 ~ ~ ~ ~ ~ ~ ~ ~ ~
3 ~ ~ ~ ~ ~ ~ ~ ~ ~
4 ~ ~ ~ ~ ~ ~ ~ ~ ~
5 ~ ~ ~ ~ ~ ~ ~ ~ ~
6 ~ ~ ~ ~ ~ ~ ~ ~ ~
7 ~ ~ ~ ~ ~ ~ ~ ~ ~
8 ~ ~ ~ ~ ~ ~ ~ ~ ~
9 ~ ~ ~ ~ ~ ~ ~ ~ ~
圖案完美地工作,但新的AI現在猜測它已經猜到了點,使得它非常低效和不那麼聰明。我也嘗試使用if board[guess_row][guess_col] == "~":
,但這會導致模式不起作用。我怎麼才能讓AI猜測它只是在它尚未猜到的地方?
你有沒有改變的'板[guess_row] [guess_col]'比'其他的東西〜'值?向我們顯示該代碼。 – jwodder
@jwodder當模塊被猜測時,它被改爲X,當船被擊中時,它被改爲H.我有完整的源代碼在這裏:http://github.com/JellyBellyFred/BattleShip – Choops