黑白棋程序设计实验报告c 版
24页1、2海南大学课程论文课程名称:数据结构课程设计题目名称:黑白棋学院:信息学院专业班级:姓名:学号:评阅意见评阅成绩评阅教师:2011 年12 月 17 日3目目录录一、 黑白棋简介2二、程序设计思路及实现界面图3三、程序设计算法性能分析6四、实验总结6五、实验代码74一、 黑白棋简介黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello),苹果棋,翻转棋。黑白棋的棋子和围棋类似。但它的下法与围棋的很不相同。黑白棋是由黑方和白方两人进行的益智游戏。棋盘为 NN 方格,黑白棋总共使用 N2个棋子,每个棋子分正反两面,分别是黑色和白色。轮到一方下棋时, 必须把棋下在与对方棋子相邻的空位上, 要求所下的棋子和原有的已方棋子夹住对方的至少一个棋子(横竖斜夹均可), 然后把被夹住的子变成己方的颜色(也叫吃子)。 下棋过程中,任何棋子既不会从棋盘上拿走,也不会从一个格子移到另一个格子,吃子时,不会发生连锁反应,吃进的棋子不能再夹吃其他的子。当双方都无棋可下,或者方格全部占满后,棋局结束,子多的一方为胜方。5二、程序设计思路及游戏实现界面1、设计初始化棋盘函数2、复制棋盘函数 3、显示棋盘函数 4
2、、选择下棋类型 4、计算可落子的位置个数,及该位置落子后翻过的棋子的个数 5、设置棋子的稳定性(计算得分的依据),空白处除外 6、评价棋手得分游戏开始选择类型和棋子:6打印棋盘棋手开始下棋输入下棋的位置:游戏结束,统计棋数并分出胜负:7一局结束后选择是否继续:8三、性能分析人机对战中稳定性算法用了 8 层循环,所以程序的性能为 O(N8)级别四、实验总结这个程序主要用来实现黑白棋的人人对战,程序中的人机对战的算法主要参考别的程 序, 而人人对战则相对简单所以以自己的能力就只实现了其中的人人对战部分, 由于没有自 学 MFC,所以界面不是很友好,直接在 doc 环境下运行,但程序总的实现了黑白棋的基本功 能,能够在 doc 下显示棋盘,判断棋手可下棋位置及最后判断出胜负。9五、程序代码:#include using namespace std;int const MAX=10000;enum Color WHITE=-1,BLANK,BLACK/是否能落子/黑子 ;class Choice public: int posX; int posY; int score; ;class Che
3、ssman public: enum Color color;unsigned stable;/* 棋子的稳定性(08),若棋子为 BLANK 则表示该位置落子后可 翻过的棋子个数. */ ;/即下此位置后对方的棋变为自己的棋子的数目class Chessboard/棋盘 public:Chessman cell88;/定义棋盘中有 8*8 个格子 unsigned whiteNum;/白棋数目 unsigned blackNum;/黑棋数 void initChessboard(Chessboard *board); void clone( Chessboard *boardDest,constChessboard *boardSource); void view( Chessboard *board); int judge( Chessboard *board,enum Color player); int putChess( Chessboard *board,Choice *choice,enum Color player);10void setStable( Chessboa
4、rd *board); int evaluate(Chessboard *board,enum Color player); ;void Chessboard:initChessboard(Chessboard *board)/初始化棋盘 /声明一个 Chessboard 结构体 board int i,j; board-whiteNum=2; board-blackNum=2; for(i=0;icellij.color=BLANK; board-cellij.stable=0; board-cell33.color=board-cell44.color=BLACK; board-cell34.color=board-cell43.color=WHITE; / 复制棋盘. void Chessboard:clone( Chessboard *boardDest,constChessboard *boardSource) int i,j; boardDest-whiteNum=boardSource-whiteNum; boardDest-blackNum=boardSource-bl
《黑白棋程序设计实验报告c 版》由会员第***分享,可在线阅读,更多相关《黑白棋程序设计实验报告c 版》请在金锄头文库上搜索。
校园足球汇报
异甘草酸镁注射液【治疗急性药物性肝损伤】Ⅱ期临床研究总结
云教室课程行政伦理学行政良心
语文S版小学二年级语文下册诺亚方舟课件优质课教学课件
未来中考趋势作文考与练
近年来广东历史试题中考易错点分析与教学启示
搜索推广那些事
小学语文二年级上册红领巾真好说课稿设计(说课设计)
新课标人教版二年级语文上册红领巾真好课件
新课程背景下的高中化学课堂教学改革
危机管理与突发事件应对
背影朱自清教案课件二课时
突发公共卫生事件培训
统计学简史及数据科学中南财经大学
水泥混凝土路面技术现状及发展终
有家真好作文讲评课
西南大学植物造景设计总复习
海外汉语教学新探索在线交流学习平台Goclef
动态黑色背景年终总结模板
孙子的治军之道与现代管理谋略总结
2024-04-25 30页
2024-04-25 22页
2024-04-25 7页
2024-04-25 5页
2024-04-25 8页
2024-04-23 5页
2024-04-23 23页
2024-04-23 6页
2024-04-23 5页
2024-04-23 10页