太空战机c语言实验报告,c语言课程设计_太空战机提高篇.doc

news/2024/11/29 7:40:15/

c语言课程设计_太空战机提高篇

C语言课程设计--太空战机

一、游戏介绍

太空战机是玩家用键盘控制战机移动并发射子弹,消灭敌方的战机。敌方战机从右到左移动,同时上下浮动。同时隔一定的时间发射子弹,我方战机在受到敌方战机子弹攻击时,战机的颜色会发生变化,生命值也在减少,当我方战机的生命值减少到0时,我方战机消失,同时产生一架我方的新的战机,游戏重新开始。

二、实验目的

综合应用C语言的知识开发一款小游戏。

三、实验内容

在外星球上,玩家通过键盘WSAD键控制己方战机,消灭外星球的邪恶战机。

要求如下:

游戏运行时,初始界面如下图。

按下空格键,游戏开始,玩家通过WSAD键控制己方战机移动;己方战机不能超出世界边界。

玩家战机每隔0.3秒发射一发子弹;

添加敌方战机,每隔秒创建一架敌方战机;

敌方战机每隔秒发射一发子弹;

记录游戏的最高分。

游戏初始界面

实验指南

【实验内容】

【实验思路】

【实验指导】

由于我们这个游戏稍稍有些复杂,所以我们采用多文件的形式,那么我们先添加一个LessonX.cpp和LessonX.h文件:

首先在VC6.0当中,点击新建按钮,如图红色区域

然后会出现一个空白文件,然后再空白文件中点击一下,选中空白文件,使用快捷方式Ctrl+s,或者使用File菜单栏下的Save选项,如下图

这样会弹出一个对话框,如下图

之后点击红色区域,返回到上一个目录:

选中Src目录,双击进入Src并将Text2.txt命名为LessonX.cpp点击保存即可。

同样的方式建立LessonX.h文件,在保存的时候放在Hearder目录下,并将**.txt文件更名为LessonX.h;

下面我们将新建的两个文件添加到我们的工程当中,

首先在VC中右击Source Files,并且选中Add Files to Folder选项,如下图

然后弹出对话框,如下图

点击返回上一目录,得到如下对话框

双击Src进入到目录里面,选中LessonX.cpp文件,点击OK即可;

添加LessonX.h文件的步骤,右击Header Files,然后找到Header文件夹,双击进入并选中LessonX.h文件,左击OK即可;

我们来搭建游戏的框架,我们在主函数中的while循环的最后添加一个函数GameMainLoop(fDeltaTime)的调用,该函数是游戏的中心部分,游戏就是通过它不断的刷新数据;

现在我们在LessonX.cpp中来实现这个GameMainLoop函数,游戏主循环,此函数将被不停的调用,引擎每刷新一次屏幕,此函数即被调用一次用以处理游戏的开始、进行中、结束等各种状态. 函数参数fDeltaTime : 上次调用本函数到此次调用本函数的时间间隔,单位:秒

voidGameMainLoop( floatfDeltaTime )

{

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函数我们还没有定义,那么我们就在LessonX.cpp中定义这三个函数;

这样我们的游戏框架就搭建好了,编译一下就可以运行了,虽然有什么效果。

实验

【实验内容】

【实验思路】

【实验指导】

实验【实验内容】

【实验思路】

【实验指导】

实验 游戏开始和控制我方战机移动

【实验内容】

按空格键,游戏开始,“空格开始”字样消失。

创建控制的战机。

战机碰到世界边界时,静止。

游戏开始后,通过键盘WSAD键控制战机移动。

战机左右运动的速度为30。上下运动的速度为15。

在游戏中显示游戏的当前积分和最高积分。

【实验思路】

按空格键开始游戏,属于键盘按下事件,我们在dOnKeyDown函数中编写代码。在游戏中,

【实验指导】

void GameInit()

{

... ...

// 初始化Control Sprite的数值

g_ControlSpri


http://www.ppmy.cn/news/857354.html

相关文章

java雷霆战机图片_JAVA开发《雷霆战机》雷电类游戏效果演示

原标题:JAVA开发《雷霆战机》雷电类游戏效果演示 JAVA开发《雷霆战机》 雷电类游戏 效果演示 | 附源码 hello,伙伴们! 人见人爱,花见花开的小编又来给各位小伙伴! 分享福利了! 掌声鲜花何在 话说最近给大家…

雷霆战机的java代码_JavaSwing雷霆战机(飞机大战)源代码

【实例简介】 JavaSwing界面的飞机大战,实现了开始,暂停,结束游戏界面,还实现了界面自己循环滚动。英雄机的键盘控制等。 【实例截图】 【核心代码】 PlaneWars └── PlaneWars ├── bin │ ├── bgmusic.wav │ ├──…

java雷霆战机豪华版代码_Java 打飞机 雷霆战机 游戏 源代码

Java 打飞机 雷霆战机 游戏 源代码 小学期做了一个类似打飞机的游戏 IDE为 IntelliJ IDEA 小学期做了一个类似打飞机的游戏 IDE为 IntelliJ IDEA 通过操作键盘上下左右和空格键来控制飞机移动和发射子弹,没有写什么背景音乐,源码附上,希望能帮…

x战机java_java战机游戏源码(含设计报告)

【实例简介】这是一个基于java开发的战机小游戏 【游戏说明】 ↑↓←→:控制方向,可实现8个方向 Q: 开火 W: 大决 F2:复活 注:游戏一段时间后可以看到“礼品状”物体飞过,“吃”掉它可以增加大决数量 【实例截图】 【核心代码】 p…

太空战机c语言实验报告,太空战机试验报告资料

《太空战机试验报告资料》由会员分享,可在线阅读,更多相关《太空战机试验报告资料(60页珍藏版)》请在人人文库网上搜索。 1、太空战机实验报告 1.实验截图 图一开始游戏 图二我方战机, 敌方战机出现。敌方战机随机发射子弹, 并上下…

雷霆战机服务器维护公告,雷霆战机停服公告 4月11日服务器维护

雷霆战机停服公告 4月11日服务器维护是游戏狗小编给大家带来的动态消息,知道有很多的玩家忙于工作可能还不了解这个,所以小编就跟大家说一下吧,下面是详细内容哦。 本游戏预计于4月11日凌晨3点-7点进行服务器维护,期间您将无法登陆…

java雷霆战机源代码_java spring雷霆战机(小游戏源码)

【实例简介】 【实例截图】 【核心代码】 public void paintherobullets(Graphics g) { for (int i 0; i < herobullet.size(); i ) { Herobullet hb herobullet.get(i); hb.draw(g); } } Override public void keyTyped(KeyEvent e) { } // 键盘按下 Override public voi…

太空战机c语言源码,funcode编写的太空战机

【实例简介】 使用funcode编写的太空战机小游戏,可以成功运行,内含补血精灵设置。 【实例截图】 【核心代码】 太空战机 └── 太空战机 ├── Bin │ ├── common │ │ ├── commonConfig.xml │ │ ├── data │ │ │ ├── fonts │ │ │…