欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

《五子棋游戏编程》PPT课件.ppt

  • 资源ID:17594922       资源大小:393.31KB        全文页数:11页
  • 资源格式: PPT        下载积分:9.9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要9.9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

《五子棋游戏编程》PPT课件.ppt

五子棋游戏 娱乐是人类不可或缺的生活内容,从最初的纸牌, 到近代的麻将,到电视时代的任天堂,再到网络 时代的 3D场景游戏,都蕴含着人类智慧的结晶。 本章以五子棋游戏为主线,讲解棋牌游戏的入门 程序设计方法,本章的主要内容如下。 棋牌游戏的种类和发展阶段:读者将概要性地了 解棋牌游戏的现状和发展情况。 五子棋游戏设计:读者将学会编写五子棋游戏, 并以此为基础,熟悉棋牌游戏设计的一般方法。 21.1 棋牌游戏种类及简介 目前在游戏软件市场上的棋牌游戏种类繁多,基本上,我 们日常生活中有的,都已经有了相应的游戏软件。如 QQ游 戏中心,就是以真人远程棋牌游戏为主的游戏服务站,玩 家通过登陆 QQ信息,然后可以集中在 QQ游戏中心的服务大 厅里面自己寻找对手,或者自己寻找棋牌空位,然后等待 别人来挑战。棋牌游戏有很多,常见的有如下几种。 中国象棋:中国象棋估计是当前国内最流行的棋类游戏。 跳棋:下棋双方各 10个棋子,最快走到对方阵地则获胜。 锄大地:纸牌游戏, QQ网络游戏大厅中使用率较高的游戏。 拱猪:纸牌游戏, QQ网络游戏大厅中使用率较高的游戏。 五子棋:本章将实现该游戏。 黑白棋:与五子棋的棋牌类似,下棋时,可以将对方处于 自己棋子中间的棋变成自己的棋子,棋盘下满后,哪方棋 子多则获胜。 围棋:与黑白棋、五子棋的棋牌类似。 21.2 五子棋游戏开发的基础和概要设计 开发一个五子棋游戏需要从两方面入手:一是游 戏规则,二是技术。其实任何软件开发都是这两 大类,只是前者不叫做游戏规则,而叫做“业务 流程”,而技术则是涉及到该项目的一些算法、 运行平台、数据库设计等。 21.2.1 游戏规则和效果 相信大多数读者已经玩过五子棋,当然也有少数读者没有玩过,为了使游 戏开发更具有逻辑性,在此将介绍一下五子棋的规则。 ( 1)棋盘为方格状,玩家有 2位,分别可以下黑棋和白棋,棋子放置在方 格中央。 ( 2)玩家不能连续下棋,必须黑白两家轮流下。 ( 3)当方格棋盘中,如果横向、纵向或斜向有 5个连续的同颜色棋子,则 表示该颜色棋子玩家获胜。 ( 4)当棋盘格子全部填满,而没有任何玩家获胜,表示该盘棋平局,如 图 21.1所示。 21.2.2 技术难点的解决方案 五子棋游戏的规则比较简单,这里的技术难点主要在于设计和实现。 玩家设计:用鼠标的左键和右键来区分两个玩家。 棋盘设计:可以使用图形对象绘制棋盘。 下棋控制:使用鼠标消息处理函数来完成,如可以编写鼠标右键消息为放 置黑色棋子,反之,左键则放置白色棋子。 放置棋子的绘制:通过判断鼠标单击的坐标,看是否在某个各自区域内, 如果在各自区域内,则以该格子中点为棋子的中点,绘制一个棋子。 判断下棋顺序:可以通过标志变量来记录,如左键单击,则标志变量变为 0,右键单击,则标志变量变为 1。同时,当左键需要单击时,判断当前的 标志变量是否为 1,如果是,则说明右键刚刚下棋,现在的确是轮到左键 下棋,下棋后标志变量变为 0,反之亦然。 判断输赢:当横向、纵向或斜向有 5个连续的棋子时,该方获得胜利。此 时,应该使用方格的状态标记来记录该方格放置的是什么颜色的棋子,如 可以使用二维状态数组或二维向量来记录棋子颜色,如二维数组 a3,5的 值为 1,则可以表示在 (3,5)坐标处是黑色棋子,如果值为 2,则表示该坐 标处放置的是白色棋子,如果为 0,则为空白格子,即没有放置任何棋子。 下棋其他约束:如在棋盘中已经被占用的格子是不能再下棋了,这个可以 使用二维格子的状态数组来表示, 0则表示该格子是空的,可以放置,否 则不能放置。 21.3 游戏项目的开发过程 在软件工程项目中,一般不提倡在不清楚整体架构和概要设计前就动手进 行编程,太早着手代码编写只能增加返工次数。最常使用的方式是模块化 分析,根据项目的特点,将不相关的功能分块分阶段进行实现。正式开始 编写游戏项目之前,需要先了解一下大致流程,如图 21.2所示。 21.3.1 创建程序和棋盘设计 本节将创建单文档应用程序,并在视图区域将五子棋的棋 盘绘制出来。考虑到棋盘可以在一个视图界面中实现,因 此创建一个单文档应用程序会将问题最小化,然后在视图 界面作为棋盘,用鼠标作为下棋的工具即可,创建程序和 前文的实例基本一样,如下: 21.3.2 放置棋子的功能开发 按照前文的规划,棋子使用鼠标的左键和右键(分别用这两个鼠 标键来表示下棋的双方)来进行单击下棋,即是当用户单击左键 时,下黑色棋子,用户单击右键时,下白色棋子,因此,必须为 鼠标添加鼠标左键和右键单击的鼠标消息处理函数,步骤如下: 21.3.3 下棋约束功能 鉴于前文所述的 3个缺点,本节将解决其中的两个 缺点: 没有遵守黑白双方轮流下棋的规则。 同一个格子可以反复放置棋子。 另外一个是判断输赢的缺陷,这个功能虽然不复 杂,但代码量比较多,将在下一节进行处理。 下棋规则是: 1、双方一定要轮流下棋, 2、已经 下棋的格子不能再放置棋子。学会这些游戏规则 后,才考虑怎么去赢对方。编程也一样,也应该 按照这个思路出发去完成程序设计。 21.3.4 游戏获胜决断的开发 该功能是棋牌游戏中较难的功能,不过读者不用担心,其实算法 并不难,只是实际编写要细心,本节也会详细将这些细节介绍到 位。 游戏规则是这样的:如某一方(黑棋或白棋)在同一行、同一列 或同一斜线上具有连续 5个同色的棋子,则该颜色棋子的那方就取 得胜利。因此,可以使用一个整形二维数组来记录当前棋局的情 况,二维数组的值定义如下。 0:表示该位置没有棋子。 1:表示该位置已经放置了黑色棋子。 2:表示该位置已经放置了白色棋子。 因此,现在考虑的问题有两个。 问题 1:要在下每个棋后,将数组变量对应位置的数组元素值做改 变,变为“ 1” 或“ 2” ,这个很容易实现,只需在鼠标消息处理 函数中调用 Location()函数后改变数组元素值即可。 问题 2:下每个棋后,判断在这个棋子同一行、同一列或同一斜线 上是否具有连续 5个同色的棋子,如果有,则宣布该方胜利,并退 出游戏,如果没有则继续游戏,轮到对方下棋。 21.4 小结 本章作为一个综合性的游戏项目设计,虽然没有 涉及到新的知识,但作为综合性的例子,成功完 成实例的开发还需要一定的经验和耐心,建议读 者独立完成该项目,以体验自己本书的学习效果。 本章涉及的知识点并且要求读者掌握的主要有: 鼠标消息处理函数。读者应该掌握鼠标消息处理 函数的添加已经鼠标消息处理函数的参数的意义。 分模块实现较复杂的程序设计。读者应该养成分 模块来进行程序设计的良好习惯。 对弈游戏算法。读者应该领悟对弈游戏的令牌变 量的意义、下棋规则等相应的程序设计以及输赢 判断的基本实施思路。

注意事项

本文(《五子棋游戏编程》PPT课件.ppt)为本站会员(max****ui)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!