ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:257.18KB ,
资源ID:8723378      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8723378.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(单机台球游戏系统分析.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单机台球游戏系统分析.doc

1、单机台球游戏系统分析 1.引言 1.1背景 台球,它是一项在国际上广泛流行的高雅室内体育运动,是一种用球杆在台上击球、依靠计算得分确定比赛胜负的室内娱乐体育项目。台球也叫桌球(港澳的叫法)、撞球(台湾的叫法)。台球运动至今已有五、六百年历史,在长期流传中经过人们的不断改进丰富,现已达到了比从较完善的程度,也可见其大众基础良好。要想打好台球必须掌握好打球的角度、力度以及球与球之间的位置关系,存在较强的技巧性和益智元素。 21世纪初,各类台球在中国再度兴起,并得到长足的进步,由街头台球向健康、娱乐型运动迅速发展;中国顶尖球手在世界顶级比赛中也取得良好成绩,世界排名前十二位球手中,中国占居三

2、席,特别是丁俊晖的出现,中国更是刮起了一阵台球风。越来越多的人开始关注并喜欢上台球。而由于受到时间和场地的限制,人们并不能很好地享受到台球的乐趣。而我们所设计的单机台球游戏,模拟现实台球,操作简单、富于趣味,适合各类人群。加之现代人们的娱乐方式影响,PC版的台球游戏便应声而起。而且,现在人们几乎家家户户都有计算机,所以单机台球游戏适用范围广,市场需求较大。 1.2参考资料 a. 王士元. 《C高级实用程序设计》. 北京: 清华大学出版社. 1996 b. 周纯杰,刘正林等. 《标准C语言程序及应用》. 武汉: 华中科技大学出版社. 2005 c.《基于碰撞检测技术的台球游戏设计》

3、丁丹婷 《信息与电脑》 2012年3月刊 d.《C高级编程技术》 e.《C语言游戏编程从入门到精通》 f. 百度百科——台球、斯诺克 G.《小球碰撞检测的算法设计和台球游戏开发》 韩绍兵 朱元忠 《北京工业职业技术学院学报》 2004年11月 2.需求分析 2.1目标 本软件基本以现实中的台球为原型进行模拟。现在的台球已发展为多种多样:有中式八球、俄式落袋台球、英式落袋台球、开伦台球、美式落袋台球和斯诺克台球,其中斯诺克最为普遍,而且被官方认可,已成为一项比赛项目。所以我们单机台球游戏基本以斯诺克的打法来设计。而由于现实的正式比赛与虚拟的娱乐游戏之间存在着差距

4、和不同,在此,我们对规则做了一定的改动和简化. 2. 2基本打法: 比赛时,选手们使用相同的主球击打目标球。主球为白球。共有21只目标球,其中:15只红球各一分;黄色球2分;绿色球3分;棕色球4分;蓝色球5分;粉色球6分;黑色球7分;运动员标准击球顺序:将红色球与彩色球分别交替落袋,彩球落袋后重新回到原来位置,直至所有红色球全部离台,然后按彩球分值由低至高的顺序也至全部离台为止。 颜色 红色 黄色 绿 色 棕色 蓝 色 粉 色 数量 15 1 1 1 1 1 分值 1 2 3

5、 4 5 6 2. 3计分规则: 加分:无犯规,一杆之内按标准的击球顺序使球落袋,计入落袋球的总分。 罚分:(a)没有击中任何目标球,罚分1分。 (b)没有按照正确的顺序击球,按击错的球的分值罚分。 (c)主球进洞,罚分1分。并重置主球。 2. 4选择模式: 本游戏分为单人游戏和双人游戏两种游戏模式。 双人模式:双方轮流击球,若一方没有得分(没有任何目标球落袋)或者犯规,则轮到令一选手击球。计分方式为,加分到得分个人,罚分加入对方得分。最后以得分高者获胜。 单人模式:加分计入得分,罚分扣进得分。总共限制击球25杆,以最后得

6、分记入排行榜。 2.5用户的特点 本游戏操作简单,没有太多的基础性技术要求,适用于任何喜爱台球游戏并能操作鼠标和键盘的人群。人机界面友好,设置简单,元素丰富,适合大众消遣娱乐。同时,通过比赛、竞技形式,也适合有一定台球基础的玩家培养战略意识和空间感知、几何思维能力。 3.功能介绍及操作 3. 1 界面及说明 3.1.1 开始界面 调用插入256色bmp图片 3.1.2 欢迎使用及选择界面 可进行四种选择,进入不同界面后都可以点击退出键选择返回主菜单;snooker battle(决战斯诺克),使用清屏再画的方式编辑出snooker battle的动

7、画效果。 3.1.3单双人游戏界面 21个球,界面上可以选择力量,观察分数,选择退出。单人游戏有输入姓名,有英雄榜按钮,可以查询排名情况。另外双人游戏中包含暂停技术(含暂停计时),以及实时记录击球选手,给出两人分数,含认输功能,某方认输,对方即为获胜者。 3.1.4 球杆选择界面 进入球杆选择界面,有4种颜色的球进行选择,后方圆框即为选择按钮,点击即选中该颜色球杆。 3.1.5 帮助说明界面 对规则进行简介。 3.2 游戏操作简介 球杆随鼠标移动而绕白球转动,确定好击球方向后点击右键即可固定鼠标,再点击po

8、wer条,出现彩色格子即为已选中的力量,点击鼠标左键,白球将被击出。选择力量格数越多,力量越大。 其他按钮均使用鼠标左键点击,即可弹出相应的对话框,显示操作内容。 3.3 功能流程图 3.3.1 球的运动状态 球的运动 杆击球 球撞球 球碰壁 球进洞 3.3.2单人游戏 返回 玩家 选择好开始击球(25次) 得出得分

9、 再来 3.3.3双人游戏 按要求进球,得分 玩家1(先开球) 犯规,罚分 玩家2击球 一方认输 球全入袋

10、 分出胜负

11、 返回主菜单 再来一局 游戏启动 开机界面 主菜单 进入游戏 进入游戏 游戏结束界面 游戏结束界面 单人游戏 双人游戏 帮助说明 联系编者 球杆设置 再来一盘 再来一盘 返回主菜单 返回主菜单 游戏规则 相关说明 退出 3.4 功能流程总图 4. 模块分析 4.1界面模块 欢迎界面:题目、按钮、菜单选择 游戏界面:球桌面、球、球杆、按钮 设置及说明:球杆(实心)及相应选择按钮、说明鞋底 对话框界面:退出、认输、暂停倒数计时 4.2 鼠标模块 初始化鼠标 读鼠标状态及位置 实时显示

12、鼠标位置 鼠标绘制 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*

13、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); 通过角度计算增量,由横纵坐标的增量

14、得出接下来的角度情况,根据此角度进行下一步的挪动。(此处未写出对分母为零的判断,写程序时需判断) 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

15、0.97; 5.2.4 台球运动动画处理 底色为绿色,若球在一次击打后位置改变,则用绿色园覆盖原位置圆形,结束一次击打,并在新的位置用相应的颜色画圆。 5.2.5 双人交换击球权 当一方失误时,另一方便可击球,由一变量控制,一旦击球违规则改变变量值,传出后判断下一位击球的人。 6. 编程过程中遇到的难点 (1) 数据溢出问题 :台球有21个,每一个都对应有不同的值,用结构包括这些后,用指针指向该结构,指针传址不正确,会出现数据溢出,指针为赋初值会成为野指针,结构里的项没有没有完全赋初值,也会出现数据溢出,还有算角度时经常用到atan2(y, x),当x==0时,数据就会超过域,

16、还有pow(x,2),会因为内部平方过大而溢出。为溢出问题一直在改动程序。 (2) 台球动画处理问题:台球游戏中有大量的台球运动,怎样实现动画一直是问题,采用存储再放的模式时,由于只能存放矩形而在边界上出现了很大的问题,但是用底色覆盖动画又不连贯。 (3) 进入主菜单选择某一项后又返回到主菜单,循环上的逻辑易出错。 (4) 台球运动过程中发生的碰撞是物理刚体的碰撞过程,建立模型较难,推导出物理公式需要很好的数学能力,同时,再把它实现到c语言中又是一个比较难的过程。 (5) 鼠标函数不是特别清晰,菜单使用较多后,鼠标运用多次,很容易疏忽是异或掉她,使之消失还是重画了。 7. 不足之处 (1) 考虑种种因素后没有使用动画效果较好的存储再放模式制作台球动画。 (2) 没有在程序中完全体现出斯诺克游戏的规则,没能让电脑只能选择扣分还是继续发球,没能严格要求台球落袋顺序。 (3) 在快验收前期换核心算法,导致整个程序进展偏慢,不能完善功能。 (4) 打进球洞的球稍稍贴有绿色阴影 8. 组员分工 龙贲璇:文件读写(英雄榜)、开机动画、主菜单、退出 徐祯:单人游戏、双人游戏(算法)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服