五子棋(实习项目).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五子棋(实习项目)

小游戏开发——五子棋 答辩人: 游戏设计背景 增强思维能力 培养博弈兴趣 锻炼自己的耐性 放松心情 文化历史悠久 蕴含禅理 适合人群广 操作简单 五子棋游戏规则 1. 黑先、白后,从天元开始相互顺序落子; 2. 最先在棋盘横向、纵向或斜向形成连续的同色五个棋子的一方为胜; 3. 黑棋禁手判负、白棋无禁手。黑棋禁手有“三、三”、“四、四”和“长连”,包括“四、三、三”和“四、四、三”。黑棋只能以“四、三”取胜; 4. 如分不出胜负,则为平局; 5. 五连与禁手同时形成,判胜; 图2 X为四、四禁手 图1 X为三、三禁手 图3 X为长连禁手 例1: 黄金分割法 例2、例3: 例2. 黑方在落下关键的第五子即形成五连的同时,如又形成禁手,此时因黑方已经成五,而“五”在五子棋中是至高无上的,故禁手失效,黑方胜; 例3. 所谓黑方形成禁手,是指黑方落下一子同时形成两个或两个以上的活三、冲四及长连等。此时白方应立即指出,自然而胜。 黄金分割法 设计思路 1.显示一个十九行十九列的五子棋棋盘。 2.用鼠标点击棋盘上的交叉点处,则会准确地在该位置显示出棋子。 3.玩家为黑方先下棋,可以从天元(指棋盘的中心点,该点颜色够深,容易看出来)先落子,也可以从其它地方下子,电脑为白方。 4.可以自动判断游戏是否结束,是否黑方或者是白方已经胜利,并且跳出对话框来提示玩家。 5.可以重新开始游戏,并且有认输功能,在下棋时如果玩家点击认输按钮,则给出提示“您已经认输,游戏结束!”。 黄金分割法 绘制背景 先绘制出一个棋盘窗口,再在这个窗口上绘制出它的背景图片。但是我的背景图片中没有画好的棋盘,所以还需要把棋盘给绘制出来。 画背景: QPainter painter(this); painter.setBrush(Qt::lightGray); painter.drawRect(0, 0, size().width(), size().height()); 图4 生成窗口 绘制棋盘 for (int x = 20+MenuBarSize; x = N*20+MenuBarSize; x += 20) { painter.drawLine(x, 20+MenuBarSize, x, N*20+MenuBarSize); } for (int y = 20+MenuBarSize; y = N*20+MenuBarSize; y += 20) { painter.drawLine(20+MenuBarSize, y, N*20+MenuBarSize, y); } 绘制棋盘 棋盘界面 黄金分割法 绘制棋子 for (int x = 0; x N; x+) { for (int y = 0; y N; y++) { if (gamedata[x][y] == 1) //黑棋子 { blackPainter.drawEllipse((x+1)*20-10+MenuBarSize, (y+1)*20-10+MenuBarSize, 20, 20); } else if (gamedata[x][y] == 2) //白棋子 { whitePainter.drawEllipse((x+1)*20-10+MenuBarSize, (y+1)*20-10+MenuBarSize, 20, 20); } } } 黄金分割法 五子棋程序功能的设计 本五子棋游戏主要有六大功能,它们分别是:开始游戏、游戏说明、认输、关于和退出。下图为软件功能结构图: 五子棋 结束游戏 算法 对决 游戏说明 算法选择 关 于 游戏 结束 图7 软件功能结构图 黄金分割法 C++源文件及其功能 表1 C++源文件及其功能 序号 文件名 主要功能 备注 1 main 本程序的主函数 初始化棋盘、运行 2 Wuziqi 实现电脑可以自动下棋 分为3种情况 3 dialog 实现算法对决 算法间的对决 4 window 实现

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档