資源簡介
制作一個五子棋小游戲,實現人機對戰,其中電腦在進行極大值極小值搜索時需要運用α-β剪枝算法。五子棋小游戲的核心是電腦端走步的選取,使用的方法是極大極小值搜索,并且題目要求使用α-β剪枝來提高搜索效率;除此,在極大極小值搜索中,需要實現獲取下一步可能走的點位以及設計評估函數,評估函數對于電腦能否“智能”地下棋十分關鍵。
程序整體需要實現先后手的選取,勝負的判斷以及顯示棋局和相應信息。
運行所需環境:PyCharm 2019.2
語言:python
使用方法:
①點擊執行exe后默認玩家為先手,鼠標樣式為黑子,可以直接開始下棋
②點擊選擇AI First按鈕將設置玩家為后手,鼠標樣式白
程序整體需要實現先后手的選取,勝負的判斷以及顯示棋局和相應信息。
運行所需環境:PyCharm 2019.2
語言:python
使用方法:
①點擊執行exe后默認玩家為先手,鼠標樣式為黑子,可以直接開始下棋
②點擊選擇AI First按鈕將設置玩家為后手,鼠標樣式白
代碼片段和文件信息
import?pygame
import?pygame.ftfont
from?pygame?import?*
import?sys
import?button
import?random
import?re
import?copy
colors?=?{
????“white“:?(255?255?255)
????“black“:?(0?0?0)
}
r_lines?=?[
????((20?20)?(20?620))
????((20?620)?(620?620))
????((20?20)?(620?20))
????((620?20)?(620?620))
]
#?棋形匹配
l?=?[[]?for?i?in?range(5)]
l[4]?=?[“11111“]
l[3]?=?[“011110“?“211110“]
l[2]?=?[“11101“?“01110“?“211100“?“2011102“]
l[1]?=?[“011010“?“11011“?“211010“?“210110“?“11001“?“001100“?“211000“]
l[0]?=?[“10101“?“01010“?“010010“?“210100“?“210010“?“10001“]
#?棋形與分值索引
values?=?{
????#?連五
????“11111“:?999900000
????#?活四
????“011110“:?33300000
????#?沖四
????“211110“:?6250000
????“11101“:?6250000
????“11011“:?6250000
????#?活三
????“01110“:?62
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????24926??2020-01-06?14:57??五子棋\5go.py
?????文件???????4044??2019-12-22?12:33??五子棋\button.py
?????文件??????24930??2020-01-06?15:09??五子棋\代碼.txt
?????目錄??????????0??2020-01-07?19:40??五子棋
-----------?---------??----------?-----??----
????????????????53900????????????????????4
評論
共有 條評論