基於MFC實現的人機對戰五子棋遊戲

2021-09-27 11:09:54 字數 752 閱讀 7935

1、引言

此報告將詳細介紹本次課程設計的動機、設計思路及編寫技術的詳細過程,展現我所學過的c++知識以及我通過本次課程設計所學到例如mfc等知識。在文件最後我也會記錄我所編寫過程遇到的問題以及解決方案。

1.1 背景

五子棋是起源於中國古代的傳統黑白棋種之一,此遊戲不僅能增強思維能力,提高智力,而且變化多端,非常富有趣味性和消遣性,伸手人們喜愛。而且人工智慧發展迅速,人們不斷製造出可以用機器代替人們做一些事的程式,包括五子棋等棋類小遊戲。隨著經濟的快速發展,人們的生活節奏也越來越快,隨之而來的便是人們越來越少的空閒時間,而此類小遊戲不佔空間,占用時間也少,所以成了很多人喜愛的娛樂方式。

傳統五子棋的棋具與圍棋大致相同,棋子分為黑白兩色,棋盤為15×15,棋子放置於棋盤線交叉點上。兩人對局,各執一色,輪流下一子,先將橫、豎或斜線的5個或5個以上同色棋子連成不間斷的一排者為勝(正規比賽中黑棋只能連成5個。6-9個一排算禁手,另外黑棋還有33和44禁手。黑棋禁手判負。白棋沒有限制)。 因為傳統五子棋在落子後不能移動或拿掉,所以也可以用紙和筆來進行遊戲。隨著五子棋的發展,逐步發現先行優勢非常大,最後得出「先行必勝」即現代五子棋。本遊戲為傳統無禁手五子棋,適用於初學者。

1.2 動機

五子棋遊戲如果開發成功,有以下幾個好處:

可以增強人們的抽象思維能力、邏輯推理能力、空間想象力、提高人們的記憶力、心算能力等,而且深含哲理,有助於修身養性

可以作為人們休閒時的娛樂,容易上手,老少皆宜,而且趣味橫生,引人入勝

所以,本系統旨在開發乙個傳統五子棋小遊戲程式。

五子棋人機對戰

參考 人機對戰 填子遊戲的攻防策略 關於機器的應對策略,在前文中有所表述,不一一解釋,本文進行了修繕和補強,但漏銅依然存在。增加了乙個倒計時功能,測試了一下,感覺一般,還是留在那裡,表明曾經研究過,供今後完善 增加了棋譜儲存功能和回放功能 增加了悔棋功能,這個還是有些用處的。另外策略中增加了禁手。如...

基於java的人機五子棋

1 任務設計書 本專案要實現的是五子棋人機版,通過制定棋型的評分表使機器能夠對棋盤局勢評估。五子棋玩家雙方分別稱為 人 機器 當人落子後,機器對棋盤掃瞄獲取可行棋的位置集合,然後遍歷該集合,利用評估函式對每個空位依次估分,得分最高的位置即為機器要落子的位置,在使用評估函式對空位打分時,為了避免機器只...

五子棋 含較高階的人機對戰

這是我自己做的五子棋,含有人人對戰,人機對戰模式,還有悔棋 儲存棋局功能。只要還沒有輸棋,就可以無限制悔棋。可以將未下完的棋局儲存下來,下次接著下。五子棋人機對戰思路 我遇到的問題 電腦怎麼判斷它應該要下棋的位置?解決思路 一 1 建立乙個二維陣列,該二維陣列對應於五子棋棋盤上的每乙個位置。2 我們...