




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单机台球游戏系统分析1.引言1.1背景台球,它是一项在国际上广泛流行的高雅室内体育运动,是一种用球杆在台上击球、依靠计算得分确定比赛胜负的室内娱乐体育项目。台球也叫桌球(港澳的叫法)、撞球(台湾的叫法)。台球运动至今已有五、六百年历史,在长期流传中经过人们的不断改进丰富,现已达到了比从较完善的程度,也可见其大众基础良好。要想打好台球必须掌握好打球的角度、力度以及球与球之间的位置关系,存在较强的技巧性和益智元素。21世纪初,各类台球在中国再度兴起,并得到长足的进步,由街头台球向健康、娱乐型运动迅速发展;中国顶尖球手在世界顶级比赛中也取得良好成绩,世界排名前十二位球手中,中国占居三席,特别是丁俊晖的出现,中国更是刮起了一阵台球风。越来越多的人开始关注并喜欢上台球。而由于受到时间和场地的限制,人们并不能很好地享受到台球的乐趣。而我们所设计的单机台球游戏,模拟现实台球,操作简单、富于趣味,适合各类人群。加之现代人们的娱乐方式影响,PC版的台球游戏便应声而起。而且,现在人们几乎家家户户都有计算机,所以单机台球游戏适用范围广,市场需求较大。1.2参考资料a. 王士元. C高级实用程序设计. 北京: 清华大学出版社. 1996b. 周纯杰,刘正林等. 标准C语言程序及应用. 武汉: 华中科技大学出版社. 2005c基于碰撞检测技术的台球游戏设计 丁丹婷 信息与电脑 2012年3月刊d.C高级编程技术e.C语言游戏编程从入门到精通f. 百度百科台球、斯诺克G.小球碰撞检测的算法设计和台球游戏开发 韩绍兵 朱元忠 北京工业职业技术学院学报 2004年11月2.需求分析21目标 本软件基本以现实中的台球为原型进行模拟。现在的台球已发展为多种多样:有中式八球、俄式落袋台球、英式落袋台球、开伦台球、美式落袋台球和斯诺克台球,其中斯诺克最为普遍,而且被官方认可,已成为一项比赛项目。所以我们单机台球游戏基本以斯诺克的打法来设计。而由于现实的正式比赛与虚拟的娱乐游戏之间存在着差距和不同,在此,我们对规则做了一定的改动和简化.2. 2基本打法:比赛时,选手们使用相同的主球击打目标球。主球为白球。共有21只目标球,其中:15只红球各一分;黄色球2分;绿色球3分;棕色球4分;蓝色球5分;粉色球6分;黑色球7分;运动员标准击球顺序:将红色球与彩色球分别交替落袋,彩球落袋后重新回到原来位置,直至所有红色球全部离台,然后按彩球分值由低至高的顺序也至全部离台为止。 颜色 红色 黄色绿色 棕色 蓝 色 粉 色 数量 15 1 1 1 1 1 分值 1 2 3 4 5 6 2. 3计分规则:加分:无犯规,一杆之内按标准的击球顺序使球落袋,计入落袋球的总分。罚分:(a)没有击中任何目标球,罚分1分。 (b)没有按照正确的顺序击球,按击错的球的分值罚分。 (c)主球进洞,罚分1分。并重置主球。2. 4选择模式:本游戏分为单人游戏和双人游戏两种游戏模式。双人模式:双方轮流击球,若一方没有得分(没有任何目标球落袋)或者犯规,则轮到令一选手击球。计分方式为,加分到得分个人,罚分加入对方得分。最后以得分高者获胜。单人模式:加分计入得分,罚分扣进得分。总共限制击球25杆,以最后得分记入排行榜。25用户的特点 本游戏操作简单,没有太多的基础性技术要求,适用于任何喜爱台球游戏并能操作鼠标和键盘的人群。人机界面友好,设置简单,元素丰富,适合大众消遣娱乐。同时,通过比赛、竞技形式,也适合有一定台球基础的玩家培养战略意识和空间感知、几何思维能力。3.功能介绍及操作3. 1 界面及说明3.1.1 开始界面调用插入256色bmp图片3.1.2 欢迎使用及选择界面可进行四种选择,进入不同界面后都可以点击退出键选择返回主菜单;snooker battle(决战斯诺克),使用清屏再画的方式编辑出snooker battle的动画效果。3.1.3单双人游戏界面21个球,界面上可以选择力量,观察分数,选择退出。单人游戏有输入姓名,有英雄榜按钮,可以查询排名情况。另外双人游戏中包含暂停技术(含暂停计时),以及实时记录击球选手,给出两人分数,含认输功能,某方认输,对方即为获胜者。3.1.4 球杆选择界面进入球杆选择界面,有4种颜色的球进行选择,后方圆框即为选择按钮,点击即选中该颜色球杆。3.1.5 帮助说明界面对规则进行简介。3.2 游戏操作简介球杆随鼠标移动而绕白球转动,确定好击球方向后点击右键即可固定鼠标,再点击power条,出现彩色格子即为已选中的力量,点击鼠标左键,白球将被击出。选择力量格数越多,力量越大。其他按钮均使用鼠标左键点击,即可弹出相应的对话框,显示操作内容。3.3 功能流程图3.3.1 球的运动状态球的运动杆击球球撞球球碰壁球进洞3.3.2单人游戏 返回 玩家 选择好开始击球(25次) 得出得分 再来3.3.3双人游戏 按要求进球,得分 玩家1(先开球) 犯规,罚分 玩家2击球 一方认输球全入袋 分出胜负 返回主菜单 再来一局游戏启动开机界面主菜单进入游戏进入游戏游戏结束界面游戏结束界面单人游戏双人游戏帮助说明联系编者球杆设置再来一盘再来一盘返回主菜单返回主菜单游戏规则相关说明退出3.4 功能流程总图4. 模块分析4.1界面模块欢迎界面:题目、按钮、菜单选择游戏界面:球桌面、球、球杆、按钮设置及说明:球杆(实心)及相应选择按钮、说明鞋底对话框界面:退出、认输、暂停倒数计时4.2 鼠标模块初始化鼠标读鼠标状态及位置实时显示鼠标位置鼠标绘制4.3 进行游戏模块球杆旋转(击球方向选择)击球力量选择球运动碰撞检测5. 程序流程图及主要算法分析5.1 程序流程图(此处插入流程图,未完成)5.2主要算法分析5.2.1 台球运动路线台球路线由两方面决定:(合理击球情况下)1.母球由球杆击打得出运动方向、白球由碰撞决定运动方向 2.子球由碰撞决定运动方向 在640*480的分辨率下,球的x(横坐标),y(纵坐标)可以定位其当前位置,dx(横坐标变化量),dy(纵坐标变化量)可以确定其运动方向:角度 s=atan2(dy, dx);若加入了power值 dx=power*cos(s);dy=power*sin(s);新的位置则可确定下来 x+=dx; y+=dy;5.2.2 台球碰撞后方向确定 s1=atan2(d1y, d1x); s2=atan2(d2y, d2x); s=atan2(y,x);d1=sqrt(pow(d1x,2)+pow(d1y,2)*cos(s-s1);d2=sqrt(pow(d2x,2)+pow(d2y,2)*cos(PI-(s-s2);dx1=d1*cos(s);dx2=d2*cos(PI-s);dy1=d1*sin(s);通过角度计算增量,由横纵坐标的增量得出接下来的角度情况,根据此角度进行下一步的挪动。(此处未写出对分母为零的判断,写程序时需判断)dy2=d2*sin(PI-s); d1x-=dx1;d1y-=dy1;d2x+=dx1;d2y+=dy1;d1x+=dx2;d1y+=dy2;d2x-=dx2;d2y-=dy2;5.2.3 台球运动时的衰减真实情况下,台球会在碰撞多次过后存在机械能减少的问题,所以设置减速公式使台球减速。 d1x*=0.97; d1y*=0.97; d2dx*=0.97; d2y*=0.97;5.2.4 台球运动动画处理底色为绿色,若球在一次击打后位置改变,则用绿色园覆盖原位置圆形,结束一次击打,并在新的位置用相应的颜色画圆。5.2.5 双人交换击球权当一方失误时,另一方便可击球,由一变量控制,一旦击球违规则改变变量值,传出后判断下一位击球的人。6. 编程过程中遇到的难点(1) 数据溢出问题 :台球有21个,每一个都对应有不同的值,用结构包括这些后,用指针指向该结构,指针传址不正确,会出现数据溢出,指针为赋初值会成为野指针,结构里的项没有没有完全赋初值,也会出现数据溢出,还有算角度时经常用到atan2(y, x),当x=0时,数据就会超过域,还有pow(x,2),会因为内部平方过大而溢出。为溢出问题一直在改动程序。(2) 台球动画处理问题:台球游戏中有大量的台球运动,怎样实现动画一直是问题,采用存储再放的模式时,由于只能存放矩形而在边界上出现了很大的问题,但是用底色覆盖动画又不连贯。(3) 进入主菜单选择某一项后又返回到主菜单,循环上的逻辑易出错。(4) 台球运动过程中发生的碰撞是物理刚体的碰撞过程,建立模型较难,推导出物理公式需要很好的数学能力,同时,再把它实现到c语言中又是一个比较难的过程。(5) 鼠标函数不是特别清晰,菜单使用较多后,鼠标运用多次,很容易疏忽是异或掉她,使之消失还是重画了。7. 不足之处(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中地理易错题总结模版
- 玉林消防笔试试题及答案
- 幼儿教师中级职称考试试题及答案
- 应聘公务员试题及答案大全
- 未来医学的展望与创新实践
- 食品配送服务实施方案
- 延安公务员面试笔试题及答案
- 课堂管理中的言语沟通
- 网络店铺视觉焕新与市场竞争力提升合同
- 建筑外墙石材贴面施工与防水性能合同
- 七年级下学期语文5月月考试卷
- 2024年乐山市市级事业单位选调工作人员真题
- 2025年下半年湘潭市技师学院招考人员易考易错模拟试题(共500题)试卷后附参考答案
- 舞台剧合作合同协议
- 初级qc考试题及答案
- 影视文化试题及答案解析
- 浙江开放大学2025年《行政复议法》形考作业3答案
- 施工现场安全施工方案
- DB63T2004-2021 沥青路面就地冷再生基层技术规范
- 中医适宜技术-中药热奄包
- 材料力学第4版单辉祖习题答案
评论
0/150
提交评论