作品背景:
“α狗”是“Alpha Go”,智能計(jì)算系統(tǒng)?!唉痢笔堑谝粋€(gè)希臘字母,代表了開始,一個(gè)人工智能時(shí)代的開始,為了順應(yīng)科技潮流,我們設(shè)計(jì)并實(shí)現(xiàn)了βGo的五子棋的人機(jī)對戰(zhàn)
設(shè)計(jì)思路:
(1)初始化:首先,建立盤面數(shù)組Table[15][15]、
棋型表Computer[15][15][4]
Player[15][15][4];
(2)主循環(huán)控制模塊:主要擔(dān)當(dāng)一個(gè)調(diào)度者的角色。
(3)玩家下子:在Table[15][15]數(shù)組的相應(yīng)地方記錄‘2’,以
表明該子是玩家下的。
(4)盤面分析填寫棋型表:人工智能算法的根本依據(jù)!
(5)電腦下子:現(xiàn)在要作的就是讓電腦知道在哪一點(diǎn)下子了。其中最簡單的計(jì)算方法,就是遍歷棋型表Computer[15][15][4]和Player[15][15][4]找出其中數(shù)值最大的一點(diǎn),在該點(diǎn)下子即可。
(6)勝敗判定:務(wù)須多言,某方形成五子連即獲勝;
五子棋MFC界面展示:
心得體會(huì):
這次制作人機(jī)對戰(zhàn)五子棋,從一橫一豎的棋盤制作,到鍵盤鼠標(biāo)控制棋子下落,最終達(dá)到MFC的界面優(yōu)化。從簡單的人人對戰(zhàn)判斷輸贏,到最終實(shí)現(xiàn)人機(jī)對戰(zhàn),甚至運(yùn)用極大極小算法設(shè)置計(jì)算機(jī)智力等級。一行行代碼,一次次編譯失敗,一次次調(diào)試,我們收獲了C的樂趣,體會(huì)了編程的魅力。
未來展望:
當(dāng)然還有太多的需要改進(jìn)和提升的地方了,我們暫時(shí)還沒有實(shí)現(xiàn)悔棋和添加殘局的功能,希望在以后的學(xué)習(xí)中能夠?qū)崿F(xiàn)。