C++语言课程设计-桌球
14页1、C+语言课程设计一桌球一、实验内容玩家通过移动球杆到单一的桌球处碰撞桌球运动,当桌球于一定速度通过桌面右方的同样颜色的球洞后,则该球进洞,在桌面左边重新分配新球开始游戏。要求如下:1. 游戏的初始界面如下,其中左边有一个体积较小的桌球,其x方向位置固定,y方向位置随机。右边有八个颜色不一样,体积较大的球洞,游戏的目的是使用左边的桌球以一定小的速度穿过右边同样颜色的球洞就算桌球进洞,然后重新分配新球。2. 球杆随鼠标运动而运动,单击球杆,桌球获取一个前进的速度同时往前有运动。桌球的前进方向有一段指示球运动方向的虚线。3. 右侧的球洞以移动的频率不断更换位置。球洞的x左边不变,更换的是y坐标的位置,即每一轮中每一个球洞移动到下一个球洞的位置,最下边的球洞则移动到第一个球洞位置。所以的这些动作都要在一个频率的时间里面完成。因此当游戏一某一个频率进行的时候,右侧的球洞就能实现循环变化的效果。4. 球碰撞到桌面边沿的时候以发射角的角度弹走。5. 球进洞的判断是球以一定的速度通过同样颜色的球洞时,桌球消失,表明球进洞了,此时左侧随机生成新球。球运动到球洞的速度不能太大,太大则球直接运动过球洞,如果
2、速度太小,则球同样不进洞。二、实验指南实验一开始实验【实验任务】步骤一、打开FunCode,创建一个的C+语言项目;步骤二、导入snooker模板。【实验思路】按实验指导完成。【实验指导】1、 打开FunCode,点击“项目”菜单,选择“创建C+工程”注意:工程名名称要求字母开头,只能包含字母和数字,且名字中间不能有空格。2、 点击菜单“项目”中的“导入地图模块”,如图一。跳出一个对话框,选中“snooker”模板,点击“导入到工程”按钮,如图二。 图 一 图 二3、导入成功后的,界面如下图所示:实验二初始化桌球和球杆同时在球的前进方向画虚线【实验内容】步骤一、设置球的初始位置,球杆的初始朝向步骤二、设置球杆随鼠标移动步骤三、在球的前进方向上画虚线【实验思路】在设置初始球的时候要考虑随机本局的球数字,如果和上一局的不一致,则将上局的球拉到屏幕外,将本局的球拉到屏幕内,在Y向上随机摆放球的出生位置,只随机Y方向坐标,不动X方向。对于球杆则通过系统的OnMouseMove函数获取到鼠标移动时的坐标位置,然后使用SetSpritePosition函数同步设置桌球精灵的位置。通过获取球的X和Y
3、坐标,并求两个坐标平方和的平方根来得到球运动方向向量的大小,利用循环调用系统画线函数画虚线。【实验指导】1. 进入LessonX.h,添加CGameMain的成员变量,前面几个实验之后我们知道了类的成员变量一般设置访问属性为private,代码如下:int m_iPlayState;/ 操作状态,0 - 可以点击鼠标打球;1 - 球在运动中,等待下次打球机会int m_iBallNumber;/ 每局从0-7随机一个颜色图片,作为本局的球floatm_fOldRotation;/ 球杆的初始朝向,用于球杆复位CSprite*m_spBall8;/ 8个球的精灵CSprite*m_spBallCue;/球杆精灵2. 进入LessonX.cpp中,在构造函数里面先把m_iGameState的值由0改为1。然后填写初始化代码:m_iPlayState=0;m_iBallNumber=0;m_fOldRotation=0.f;/初始化球杆精灵m_spBallCue=new CSprite(BallCue);/初始化球和球洞精灵char* tmpName=;for(int iLoop = 0;
4、iLoop SetSpritePositionY(50.f);/ 新球,移动到屏幕中m_iBallNumber=iNewBallNumber;m_spBallm_iBallNumber-SetSpritePositionX(-30.f);在Y向上随机摆放球的初始位置,只随机Y方向坐标,不动X方向intiPosY=CSystem:RandomRange( -25, 25 );m_spBallm_iBallNumber-SetSpritePositionY(float)iPosY);获取球拍的初始朝向,只做一次static int iInited = 0;if( !iInited )iInited=1;m_fOldRotation=m_spBallCue-GetSpriteRotation();4. 设置球杆随鼠标移动而移动。首先通过系统的OnMouseMove函数实时获取到鼠标移动的坐标位置参数,然后将该参数传给球杆精灵的SetSpritePosition函数,这样就能让球杆随鼠标移动了。由于鼠标在地图中有自己的图标,因此我们需要调用系统的隐藏鼠标的函数ShowCursor将鼠标隐藏掉。
《C++语言课程设计-桌球》由会员公****分享,可在线阅读,更多相关《C++语言课程设计-桌球》请在金锄头文库上搜索。
男女双方离婚协议书标准范本(3篇).doc
2023租房合同协议电子版(7篇)
PHC静力压桩施工方案
第十一课静夜思 (2)
学习心得体会怎么写
五年级数学家教案有括号的小数四则混合运算
行政前台个人年终工作总结(九篇).doc
患病教师捐款经典倡议书
商品交易中心管理系统设计
便民服务厅上墙制度范文(四篇).doc
安徽能源集团高层管理人员激励约束管理办法
2022年哈尔滨高三年级开学考试高中化学
少儿英语演讲稿
大气污染酸洗废气净化系统设计
设备安装、调试、测试、验收和施工方案
励志主题班会主持稿
管理哲学新论网作业
高空吊篮租赁协议参考模板(五篇).doc
合资入股合作协议书经典版(七篇)
六年级语文上册第一单元1祖国啊我属于你教案湘教版
2023-04-14 10页
2023-05-30 21页
2024-01-15 52页
2023-02-13 29页
2024-02-08 37页
2023-10-16 61页
2024-01-24 18页
2024-02-08 2页
2023-09-23 139页
2024-01-04 86页