基本上,我正在創建一個遊戲:Connect 4.我希望AI能夠在水平和垂直方向上檢查用戶是否每次移動都會贏。實際情況是,它一次只能執行一次支票,因爲無論如何都不能一次執行兩次。是否可以遍歷存儲在元組中的函數列表?
所以,我創建了2個檢查函數。一個用於水平檢查,一個用於垂直檢查。即:
假設玩家計數器'X'
和AI計數器'O'
:
def horizonal_check():
if 'XXX'= True:
AI='XXXO'
的,如果我在實際遊戲中的語句是更復雜,這一點,但在本質上,這是它檢查然後允許AI把自己的櫃檯放在適當的地方,阻止我獲勝。
def vertical_check():
if 'XXX' = True:
AI = 'XXXO'
這實現了相同的策略與上述功能,但唯一的區別是,它檢查的3個計數器中的行,而不是水平組合的垂直組合。
所以我真正想要做的就是將這2個檢查函數存儲在一個元組中,然後使用for循環遍歷每個元組。這確保一次只運行一個檢查。這裏是我的循環:
Checks = (horizontal_check(), vertical_check()) # Checks stored in a tuple
for c in Checks:
return c
我想這個通過在同一時間在一個元組每一個人支票迴路循環。但它似乎並不奏效。人工智能什麼也不做
你不應該調用的元組中的功能,但是當你把它弄出來:'C()' – trincot
它給了我一個錯誤,當我這樣做:類型錯誤:「NoneType」對象不是可調用 –