欢迎来到天天文库
浏览记录
ID:5976644
大小:3.03 MB
页数:17页
时间:2017-12-30
《c语言课程设计_海底世界》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言课程设计--海底世界本实验主要用于C语言课程设计的教学讲解。可根据学校要求,安排一到两天时间,边讲边练。通过该实验练习,学生就能基本掌握在FunCode下开发一款游戏的基本技能。之后,可安排学生选择各自感兴趣的项目进行练习。一、FunCode基础概念精灵(Sprite):游戏中所有图片都称为精灵,我们最主要接触的有三种,分别是:静态精灵、动画精灵、文字精灵。程序接口:给精灵起名称,以便在程序中使用该精灵。场景预览:又称为地图。游戏开发中需要用到的精灵,我们必须事先拖放“场景预览”窗口中。屏幕(Screen):“场景预览”窗口中的墨绿
2、色框内的部分,该部分是游戏运行时的可见区域。坐标系:以屏幕中心为坐标原点(0,0)。X坐标,X坐标从左到右逐渐变大,Y坐标从上到下逐渐变大。角度按顺时针方向从0到360度。世界(World):精灵活动的空间。事件:鼠标滑动、鼠标点击、键盘按下、键盘弹起、精灵与精灵碰撞、精灵与世界边界碰撞。精灵与世界边界的碰撞(Collision):当精灵运行到它的世界(活动空间)的边界时,就发生了精灵与世界边界的碰撞世界。精灵与精灵碰撞(Collision):当两个精灵图片碰在一起,其中一个精灵设置了“发出碰撞”属性,另外一个精灵设置了“接受碰撞”属性,
3、就发生了精灵与精灵的碰撞事件。二、实验内容海底有五条鱼,其中四条来回随机游动,由玩家用键盘WASD控制另外一条游动。要求如下:1、游戏初始界面如下图。2、来回游动的四条鱼,从屏幕左边游进来,均已一个随机速度水平游动。从屏幕右侧游出去,很快又从屏幕右侧游出来,就这样来回游动。3、玩家用WASD键控制一条鱼向上、左、下、右方向游动。松开按键时,玩家的鱼就停止游动。4、玩家的鱼游到屏幕边界时,不能继续往前游。游戏初始界面三、实验准备在实验中,我们需要用到一些C语言标准库函数,主要用于字符串处理。同时,我们也会用到一些FunCode的API,用于
4、处理动画功能。学生在编程时,可以随时查阅。FunCodeAPI的命名规则,如:dSetSpriteRotation:d:前缀,表明是FunCode提供的函数;Set:设置Sprite:精灵Rotation:旋转角度因此,该含义的功能是:设置精灵的旋转角度。所有的FunCodeAPI通过这种读法,都能从字面上了解函数的功能。Stdio.h函数原型功能与返回值参数说明与应用举例intsprintf(char*buffer,constchar*format,[argument]…);把格式化的数组写入某个字符串。返回值:字符串长度注意:buff
5、er不能传入空指针charszName[128];inti=0;sprintf(szName,”feichong_%d”,i);将字符串”feichong_0”写入到szName中String.h函数原型功能与返回值参数说明与应用举例externchar*strstr(char*str1,char*str2);找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。返回值:返回该位置的指针,如找不到,返回空指针。strstr(szName,“feichong”)!=NULL说明szName中包含feichonge
6、xternintstrcmp(constchar*s1,constchar*s2);比较字符串s1和s2。当s1s2时,返回值>0strcmp(szName,“feichong_0”)==0说明szName与feichong_0相等FunCodeAPI函数原型功能与返回值参数说明与应用举例floatdGetScreenLeft();获取屏幕左边界值floatdGetScreenRight();获取屏幕右边界值floatdGetScreenTop();获取屏幕上边界值floatdGetS
7、creenBottom();获取屏幕下边界值floatdGetSpritePositionX(constchar*szName);获取精灵中心点的X坐标值szName–精灵名称。所有API均相同。游戏中的精灵的名称不能相同。floatdGetSpritePositionY(constchar*szName);获取精灵中心点的Y坐标值floatdSetSpritePositionX(constchar*szName);设置精灵中心点的X坐标值floatdSetSpritePositionY(constchar*szName);设置精灵中心点
8、的Y坐标值voiddSetSpritePosition(constchar*szName,constfloatfPosX,constfloatfPosY);设置精灵中心点的X和Y坐标值,用来将
此文档下载收益归作者所有