c语言五子棋开题报告,基于VC的五子棋游戏的设计与实现(附答辩记录)
基于VC的五子棋游戲的設計與實現(附答辯記錄)(包含選題審批表,任務書,開題報告,中期檢查報告,畢業論文12300字,程序)
摘 要:以計算機技術和網絡技術為核心的現代網絡技術已在現實生活和生產中得以廣泛的使用,休閑類網絡游戲集趣味性,娛樂性,互動性和益智性于一體,已經成為多數人群的休閑方式。本五子棋游戲用C++實現,本系統將利用五子棋游戲作為研究對象,通過設計出一個能夠實現兩種不同對戰模式的五子棋游戲。并對所涉及到的相關技術進行初步的探討,將重點放在人機對奕中AI算法研究方面。游戲中提供兩種選擇模式:人機對戰和人人對戰。在人機對戰中玩家通過選擇不同的AI等級和電腦一決高下。在人人對戰中雙方可以進行下棋,悔棋但要通過對方的同意。
關鍵詞:MATLAB;時間序列;異常檢測;數據分析
The Design and Implementation of Gobang game Based on VC
Abstract: Be extensive use of computer and network technology as the core of modern network technology in real life and production, casual game set interesting, entertaining, interactive and educational one, has become the leisure of the majority of the crowd manner. The proposed games in C++ implementation, the system will use backgammon game as the object of study, through design to achieve the games in two different Versus mode. And technology related to the preliminary discussion will focus on human-computer Chess AI algorithms research. Two selection modes: Battle of man-machine and everyone to play against in the game. In human-computer play against players by selecting a different level of AI and computer a showdown. Everyone Battle chess, undo, but through each other's consent. [設計論文網 https://doc163.com]
Key words: MATLAB; time series; anomaly detection; data analysis
五子棋介紹
五子棋是一種兩人對弈的純策略型棋類游戲,現代五子棋日文稱之為“連珠”,英譯為“Renju”,英文稱之為“Gobang”或“FIR” [1]。
應用C語言編寫程序可以再計算機上實現二人對弈五子棋功能。二人對弈五子棋由圖像生成、光標移動與落子、判斷勝負和系統幫助等子程序構成;
五子棋游戲容易上手,老少皆宜,而且趣味橫生,引人入勝;它不僅能使人娛樂,也能夠開發人的智力,而且富含哲理,有助于修身養性。
五子棋既有現代休閑的明顯特征“短、平、快”,又有古典哲學的高深學問“陰陽易理”;它既有簡單易學的特性,為人民群眾所喜聞樂見,又有深奧的技巧和高水平的國際性比賽[2];
本文主要講的是用C語言開發語言編寫的一個五子棋游戲,游戲程序實現人機對弈和人人對弈,自動智能計算最佳落子位置,實現對戰雙方順利進行博弈。
研究方案(研究目的、內容、方法、預期成果、條件保障等)(宋體五號,行間距單倍行距)
研究目的:現如今,計算機硬件功能不斷提高,系統軟件不斷完善,人工智能已廣泛應用于各個相關領域,并發揮愈來愈大的作用。人工智能逐漸發展成為高端的技術派別通過五子棋的游戲算法的研究有助于理解程序結構,增強邏輯思維能力,在人工智能逐漸發展壯大的今天來說,動手實現這樣一個復雜的人工智能五子棋游戲對以后的發展有很大的好處。
[畢業設計論文網 www.doc163.com]
研究內容:人工智能算法分析、五子棋棋盤設計、五子棋棋子設計、人機對戰勝負判斷。
研究方法:用C++應用程序開發。先實現網絡部分,實現基本的棋盤和棋子的類,添加判斷勝負條件,電腦AI也在該基礎上添加。電腦AI和勝負條件,勝負條件運算量有固定的模式。
預期成果:在人工智能的基礎上實現了一個小型的五子棋游戲軟件,其功能表現為人機對戰,電腦表現出一定的智能,能判輸贏,并能做出禁手等判別。
條件保障:首先必須對C語言有一定了解,并熟悉VC6.0的使用。研究了一些國內的五子棋算法,參考了一些游戲設計算法,詳細比較各種算法的優缺點,而且參考了現代五子棋比賽的各種規則和技巧。
[畢業設計論文網 Doc163.com]
目??? 錄
摘要??? 1
[畢業設計網 https://Doc163.com]
關鍵詞??? 1
1 前言??? 2
1.1 五子棋介紹??? 2
1.2 開發背景??? 2
1.3 開發環境及運行環境??? 2
1.3.1 開發環境??? 2
1.3.2 運行環境??? 2
1.4?? Visual C++6.0介紹??? 3
2? 需求分析??? 3
2.1? 問題定義??? 3
2.2? 可行性研究??? 3
2.3? 總體設計??? 5
3? 軟件構架??? 6
3.1 棋盤類??? 7
3.2 游戲模式類??? 7
4 棋盤類的設計??? 7
4.1 主要成員變量說明??? 7
4.1.1 網絡連接標志??? 7
4.1.2 棋盤等待標志??? 7
4.1.3 網絡套接字??? 8
4.1.4 棋盤數據??? 8
4.1.5 游戲模式指針??? 8
4.2 主要成員函數說明??? 8 [畢業設計論文網 https://www.doc163.com]
4.2.1 套接字的回調處理??? 8
4.2.2 清空棋盤??? 8
4.2.3 繪制棋子??? 8
4.2.4 左鍵消息??? 8
4.2.5 繪制棋盤??? 9
4.2.6 對方落子完畢??? 9
4.2.7 設置游戲模式??? 9
4.2.8 勝負的判斷??? 9
5? 游戲模式類的設計??? 9
5.1 主要成員變量說明??? 10
5.1.1 棋盤指針??? 10
5.1.2 落子步驟??? 10
5.2 主要成員函數說明??? 11
5.2.1 悔棋操作??? 11
5.2.2 初始化操作??? 11
5.2.3 接收來自對方的消息??? 11
5.2.4 發送落子消息??? 11
5.2.5 勝利后的處理??? 11
6 消息機制的設計??? 11
6.1 消息機制的架構??? 12
6.2 各種消息說明??? 12
6.2.1 落子消息??? 13
[設計論文網 https://doc163.com]
6.2.2 悔棋消息??? 13
6.2.3 同意悔棋消息??? 13
6.2.4 拒絕悔棋消息??? 13
6.2.5 和棋消息??? 14
6.2.6 同意和棋消息??? 14
6.2.7 拒絕和棋消息??? 14
6.2.8 認輸消息??? 15
6.2.9 聊天消息??? 15
6.2.10 對方信息消息??? 15
6.2.11 再次開局消息??? 15
6.2.12 同意再次開局消息??? 16
7? 主要算法??? 16
7.1 判斷勝負??? 16
7.2 人機對弈算法??? 19
7.2.1 獲勝組合??? 19
7.2.2 落子后處理??? 19
7.2.3 查找棋盤空位??? 20
7.2.4 落子打分??? 21
7.2.5 防守策略??? 22
7.2.6 選取最佳落子??? 24
8? 結束語??? 24
參考文獻??? 25
致謝??? 26 [畢業設計網 https://Doc163.com]
總結
以上是生活随笔為你收集整理的c语言五子棋开题报告,基于VC的五子棋游戏的设计与实现(附答辩记录)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言编程功率谱,有谁会用C编写求功率谱
- 下一篇: c语言二级试题讲解,C语言试题,二级C语