10 c语言课程设计_坦克大战(提高篇)

10 c语言课程设计_坦克大战(提高篇)

ID:12495890

大小:179.00 KB

页数:17页

时间:2018-07-17

10 c语言课程设计_坦克大战(提高篇)_第1页
10 c语言课程设计_坦克大战(提高篇)_第2页
10 c语言课程设计_坦克大战(提高篇)_第3页
10 c语言课程设计_坦克大战(提高篇)_第4页
10 c语言课程设计_坦克大战(提高篇)_第5页
资源描述:

《10 c语言课程设计_坦克大战(提高篇)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言课程设计--坦克大战一、游戏介绍玩家坦克与敌方坦克在街道中进行巷战,玩家坦克被击中、玩家指挥部被击中或游戏时间到,一局游戏结束。二、实验目的综合应用C语言知识和设计知识开发一款小游戏。三、实验内容初始界面如下图。按下空格键后游戏开始,“空格开始”消失,载入地图,并把玩家坦克设置在指挥部左侧。游戏时间到,比如30秒,玩家坦克被敌方坦克摧毁,或者玩家指挥部被摧毁,一局游戏结束,游戏回到初始界面,并显示上一局的分数。游戏区域为下图中最内部的黑色区域,左上角坐标[-26,-22],右下角坐标为[26,22]。墙为正方形,边

2、长为4,坦克也是正方形,比墙略小一点。玩家用WASD键控制坦克上、下、左、右运行,按J键开炮。玩家坦克碰到墙就停下来,需要调转方向才能继续前进。玩家坦克开炮,一炮就能摧毁一块墙,或者一辆敌方坦克。玩家没摧毁一辆敌方坦克,加1分。玩家指挥部被坦克或者炮弹(不管玩家还是敌方)碰上,都会被摧毁。每隔几秒钟,比如3秒,就会产生一辆敌方坦克。敌方坦克每隔一段时间,比如1秒,就自动开炮。敌方坦克遇到墙就会停下来。停下来的坦克,前方的墙如果被摧毁了,又能继续前进。每隔几秒钟,比如2秒,敌方坦克就会顺时针变换一个方向前进。四、实验准备本

3、实验中可能用到的C语言标准库函数和FunCodeAPIStdio.h函数原型功能与返回值参数说明与应用举例intsprintf(char*buffer,constchar*format,[argument]…);把格式化的数组写入某个字符串。返回值:字符串长度charszName[128];inti=0;sprintf(szName,”feichong_%d”,i);将字符串”feichong_0”写入到szName中Math.h函数原型功能与返回值参数说明与应用举例doubleatan2(doubley,doublex

4、);计算y/x的反正切值。返回值:以弧度表示并介于-pi到pi之间(不包括-pi)。如需使用角度,需要转换。floatftan=atan2((y1-y0),(x1-x0));计算通过点(x1,y1)到点(x0,y0)的连成的直线与X轴之间的夹角。String.h函数原型功能与返回值参数说明与应用举例externchar*strstr(char*str1,char*str2);找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。返回值:返回该位置的指针,如找不到,返回空指针。strstr(sz

5、Name,“feichong”)!=NULL说明szName中包含feichongexternintstrcmp(constchar*s1,constchar*s2);比较字符串s1和s2。当s1s2时,返回值>0strcmp(szName,“feichong_0”)==0说明szName与feichong_0相等FunCodeAPI函数原型功能与返回值参数说明与应用举例floatdGetScreenLeft();获取屏幕左边界值floatdGetScreenRigh

6、t();获取屏幕右边界值floatdGetScreenTop();获取屏幕上边界值floatdGetScreenBottom();获取屏幕下边界值floatdGetSpritePositionX(constchar*szName);获取精灵中心点的X坐标值szName–精灵名称。所有API均相同。游戏中的精灵的名称不能相同。floatdGetSpritePositionY(constchar*szName);获取精灵中心点的Y坐标值floatdSetSpritePositionX(constchar*szName);设置

7、精灵中心点的X坐标值floatdSetSpritePositionY(constchar*szName);设置精灵中心点的Y坐标值voiddSetSpritePosition(constchar*szName,constfloatfPosX,constfloatfPosY);设置精灵中心点的X和Y坐标值,用来将精灵放置在某个指定位置。dSetSpritePosition(“feichong_0”,0,0);将名称为”feichong_0”的精灵的中心点设置在坐标(0,0)上voiddSetSpriteLinearVelo

8、cityX(constchar*szName,constfloatfVelX);设置精灵X轴方向速度voiddSetSpriteLinearVelocityY(constchar*szName,constfloatfVelY);设置精灵Y轴方向速度voiddSetSpriteLinearVelocity(constc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。