C语言课程设计--太空战机
一、游戏介绍
太空战机是玩家用键盘控制战机移动并发射子弹,消灭敌方的战机。敌方战机从右到左移动,同时上下浮动。同时隔一定的时间发射子弹,我方战机在受到敌方战机子弹攻击时,战机的颜色会发生变化,生命值也在减少,当我方战机的生命值减少到0时,我方战机消失,同时产生一架我方的新的战机,游戏重新开始。
二、实验目的
综合应用C语言的知识开发一款小游戏。
三、实验内容
在外星球上,玩家通过键盘WSAD键控制己方战机,消灭外星球的邪恶战机。
要求如下:
游戏运行时,初始界面如下图。
按下空格键,游戏开始,玩家通过WSAD键控制己方战机移动;己方战机不能超出世界边界。
;
添加敌方战机,每隔2秒创建一架敌方战机;
;
记录游戏的最高分。
游戏初始界面
实验指南
实验一游戏框架的搭建
【实验内容】
由于本实验比较复杂,所以我们使用多文件实现
添加文件
搭建游戏平台
还没有用到的函数可以先声明,在定义,函数体为空
【实验思路】
为了让游戏的代码更加清晰,我们使用多文件,一般的代码编写都是一个源程序文件对应一个头文件,所以我们增加一个源文件程序,一个头文件程序。在本实验中,,,由主程序调用。
【实验指导】
导入模板“AirPlane”,将太空战机的地图初始化;
由于我们这个游戏稍稍有些复杂,所以我们采用多文件的形式,:
,点击新建按钮,如图红色区域
然后会出现一个空白文件,然后再空白文件中点击一下,选中空白文件,使用快捷 方式Ctrl+s,或者使用File菜单栏下的Save选项,如下图
这样会弹出一个对话框,如下图
之后点击红色区域,返回到上一个目录:
选中Src目录,。
,在保存的时候放在Hearder目录下,并将**.txt ;
下面我们将新建的两个文件添加到我们的工程当中,
首先在VC中右击Source Files,并且选中Add Files to Folder选项,如下图
然后弹出对话框,如下图
点击返回上一目录,得到如下对话框
双击Src进入到目录里面,,点击OK即可;
,右击Header Files,然后找到Header文件夹,双击进 ,左击OK即可;
我们来搭建游戏的框架,我们在主函数中的while循环的最后添加一个函数GameMainLoop(fDeltaTime)的调用,该函数是游戏的中心部分,游戏就是通过它不断的刷新数据;
,游戏主循环,此函数将被不停的调用,引擎每刷新一次屏幕,此函数即被调用一次用以处理游戏的开始、进行中、结束等各种状态. 函数参数fDeltaTime : 上次调用本函数到此次调用本函数的时间间隔,单位:秒
void GameMainLoop( float fDeltaTime )
{
switch( g_iGameState )
{
// 初始化游戏,清空上一局相关数据
case 1:
{
g_iGameState = 2; // 初始化之后,将游戏状态设置为进行中
GameInit();
}
break;
// 游戏进行中,处理各种游戏逻辑
case 2:
{
if(false)
{
//游戏结束。调用游戏结算函数,并把游戏状态修改为结束状态
g_iGameState = 0;
GameEnd();
}
else // 游戏未结束,继续游戏
{
GameRun( fDeltaTime );
}
}
break;
// 游戏结束/等待按空格键开始
case 0:
default:
break;
};
}
以上游戏框架中GameInit、GameRun、GameEnd函数我们还没有定义,;
这样我们的游戏框架就搭建好了,编译一下就可以运行了,虽然有什么效果。
实验二游戏需要的实物及分析
【实验内容】
分析游戏中需要的对实物
分析这些实物需要的变量
这些变量进行初始化
【实验思路
C语言课程设计太空战机(提高篇)代码 来自淘豆网www.taodocs.com转载请标明出处.