黑白棋游戏设计与开发毕业设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑白棋游戏设计与开发毕业设计
毕业论文任务书
毕业论文开题报告
黑白棋游戏设计
摘要:本次毕业设计是基于c++语言,在vs2005平台上进行的单机版游戏开发,通过本次游戏的开发,有益于进一步掌握对c++语言的应用,加深对计算机游戏的制作理念的理解,对我今后参与更加复杂的游戏项目积累宝贵的经验!
黑白棋(Reversi、Othello),也叫苹果棋,翻转棋,是一个经典的策略性游戏。黑白棋是19世纪末英国人发明的。直到上个世纪70年代一个日本人将其发展,借用莎士比亚名剧奥赛罗(Othello)为这个游戏重新命名,也就是现在大家玩的黑白棋。为何借用莎士比亚名剧呢?是因为奥赛罗是莎士比亚一个名剧的男主角。他是一个黑人,妻子是白人,因受小人挑拨,怀疑妻子不忠一直情海翻波,最终亲手把妻子杀死。后来真相大白,奥赛罗懊悔不已,自杀而死。黑白棋就是借用这个黑人白人斗争的故事而命名。
关键词:c++编程;windows编程;MFC技术
论文目录
第一章引言 (1)
1.1 c++简介 (1)
1.2 window编程介绍 (1)
1.3 Visual studio开发平台简介 (1)
第二章毕业业设计的目的及要求 (2)
2.1毕业设计的目的 (2)
2.2毕业设计的开发环境 (2)
2.3毕业设计所需的知识 (2)
2.4毕业设计要求 (2)
第三章毕业设计的容 (3)
3.1程序功能介绍 (3)
3.2程序整体设计说明 (4)
3.3程序源代码及注释 (7)
第四章结束语 (23)
第一章引言
1.1 c++语言介绍
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
1.2 windows编程介绍
Windows是微软推出的图形界面的操作系统,有windows2000、XP、Vista、win7等各种版本。是一种抢占式多任务的操作系统,是PC上的主流操作系统,在PC操作市场占绝大多数网络游戏的客户端、服务器端都可在上运行。
Windows程序由一个或多个的窗口组成,通常是多个窗口。窗口一般是一个矩形的区域,由windows对窗口进行统一管理。任何的文字、图形都写窗口中显示。
windows 系统设计为事件驱动的操作系统,事件在windows定义为消息,消息为应用程序和应用程序间、应用程序和操作系统间提供了信息传递的渠道。消息队列,由Windows维持。
1.3 Visual studio开发平台简介
Visual Studio是微软公司推出的开发环境,visual Studio可以用来应用创建windows平台下的windows程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。目前已经开发到10.0版本,也就是Visual Studio 2010.我们本次毕业设计的开发平台就是其中的Visual Studio 2005。
第二章毕业设计的目的与要求
2.1 毕业设计的目的
通过对黑白棋游戏规则的研究,做出一款适合在windows系统下进行人机对弈的黑白棋程序出来,是本课题的研究总目标。
具体需要研究一下几方面:
1.黑白棋游戏规则;
2.黑白棋游戏技巧;
3.友好的用户界面;
4.单人模式的人工智能算法;
5.黑白棋游戏的常用功能(难度选择)。
2.2 毕业设计的开发环境
开发语:c++语言;
开发平台:windows操作系统中的vs2005平台。
2.3 毕业设计所需的知识
熟悉c++语言及vs2005开发平台。
2.4 毕业设计要求
1. 分析毕业设计题目的要求
2. 写出详细设计说明
3. 编写程序代码,调试程序使其能正确运行
4. 设计完成的软件要便于操作和使用。
第三章毕业设计的容
3.1程序功能介绍
1.显示游戏的界面功能
游戏界面上包括游戏等级选择、重新开始、游戏帮助的控件对游戏进行相应的设置。
2.接受鼠标输入功能
能够接受玩家的鼠标输入功能,把棋子放入指定的位置。
3.根据规则翻转相应的棋子
无论是电脑或是玩家在棋盘中落下棋子后,能够根据游戏的规则,把横向、纵向及对角直线上的棋子全部翻转过来,变成最后落下棋子的颜色,并对棋子数量进行增减。
4.游戏胜负判断功能
双方都没有棋子可下时棋局结束,以棋子数目来计算胜负,棋子多的一方获胜。在棋盘还没下满时,如果一方的棋子应经被对方吃光,则棋局结束。将对手棋子吃光的一方获胜。
5.实现人机对战模式
支持人工智能,根据游戏等级的不同,进行不同的算法深度搜索,找出最合理的位置进行落子操作。
6.人工智能的等级设置
能够指定当前电脑人工智能的等级。根据不同的等级,其算法搜索深度不同。
7.游戏提供帮助说明
在游戏界面中,提供一个控件。以方便对本游戏不了解的玩家对游戏进行操作和使用。
黑白棋功能架构:
3.2程序整体设计说明
1.设计思路
本游戏设计是采用MFC对话框模式进行设计开发。所以从此游戏设计采用模块化思想,即程序整体设计分为五个模块来实现。
主界面对话框类:主要负责主界面及棋盘、棋子的显示及棋盘窗口对象的创建和调用。
棋盘窗口类:主要负责接受玩家鼠标输入的棋子位置及棋子翻转动画等处