0
我目前在Python創建遊戲的戰艦,其中一個玩家扮演防禦計算機。我設法爲他們兩人創造了棋盤,併爲玩家的棋盤放置了船隻。但是我被困在隨機使用random.randint的計算機板上。戰艦遊戲 - 隨機放置船
我得到的輸出此錯誤:文件「蟒蛇」,第98行,在comp_place_ships 類型錯誤:「功能」對象未標化的
下面是代碼:
#Computer place ships
def comp_place_ships(comp_board, ships):
for i, j in ships.items():
ship_not_placed = True
while ship_not_placed:
ori = random.randint(0,1)
x = random.randint(0,9)
y = random.randint(0,9)
placement = comp_board[x][y]
if ori == 0 and placement == '.':
for k in range(j):
comp_board[x][y] = i
comp_board[x+k][y] = i
ship_not_placed = False
elif ori == 1 and placement == '.':
for k in range(j):
comp_board[x][y] = i
comp_board[x][y+k] = i
ship_not_placed = False
elif ori != 0 or 1 and placement != '.':
print('Invalid choice, please try again.')
comp_place_ships(comp_board, ships)
我知道部分「placement = comp_board [x] [y]」是產生錯誤代碼但不知道如何解決它的部分。我使用變量放置來檢查座標是否等於'。'這是二維列表中每個單元格的標準值。有沒有人可能對如何解決這個問題提出任何建議?
PS!我知道代碼的結構很差,如果條件不能滿足船舶安置條件,我還沒有添加其他代碼。將添加時,我已經解決了這個問題=)
編輯!:增加了函數調用comp_place_ships功能,使其更容易一點給你看的輸出,這是我repl.it代碼:https://repl.it/J41A/10
你可以添加函數調用語句嗎? –
現在添加了函數調用,並鏈接到我的整個代碼。 – Tinadark
但是你的repl.it代碼是'comp_place_ships(comp_place_ships,ships)',而不是'comp_place_ships(comp_board,ships)''。應該是問題嗎? –