#include <stdio.h>
#include <easyx.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
#define WIDTH 520
#define HEIGHT 800
IMAGE bkimg; //背景图片
IMAGE myairplane[2]; //我的飞机
IMAGE myBullet[2]; //我的子弹
int bky0, bky1; //背景地图的纵坐标
int myairplanex, myairplaney; //我的飞机的坐标
bool isplay; //是否正在播放背景音乐
int t1, t2; //运行的时间
int h, m, s; //时分秒
//链表就像一列火车
//火车由许许多多的车厢组成
//链表是有许许多多的节点组成
//节点:数据域和指针域组成
typedef struct _Node
{
int x; //子弹的横坐标
int y; //子弹的纵坐标
struct _Node* next; //指向下一个节点的指针
}Bullet;
Bullet* g_pMyBulletList; //子弹链表
//初始化游戏
void InitGame();
//绘制游戏
void DrawGame();
//更新游戏
void UpdateGame();
//创建子弹
void CreateBullet();
int main()
{
/*
做过菜吗?
辣椒炒肉、煎鸡蛋、泡面、土豆炒洋芋、红萝卜炒白萝卜
竹笋炒肉
买菜、摘菜、洗菜、准备锅碗瓢盆,起锅烧油
干一个飞机大战:准备一个窗口、准备一个地图、飞机、飞机的子弹、敌机、敌机的子弹、加血包、无敌包、BOSS、BOSS的子弹,护盾、血条
打飞机
*/
/*1、创建一个窗口*/
initgraph(WIDTH, HEIGHT);
/*2、初始化游戏*/
InitGame();
while (1)
{
/*3、绘制游戏 */
DrawGame();
/*4、更新游戏*/
UpdateGame();
}
return 0;
}
//初始化游戏
void InitGame()
{
//获取电脑从开机到现在运行的毫秒数
t1 = t2 = GetTickCount();
h = 0, m = 0, s = 0;
//先加载背景地图
loadimage(&bkimg, "bg.jpg");
//加载我的飞机
loadimage(&myairplane[0], "uiPlane0.jpg");
loadimage(&myairplane[1], "uiPlane1.jpg");
//加载我的子弹
loadimage(&myBullet[0], "bullet0.jpg");
loadimage(&myBullet[1], "bullet1.jpg");
//背景音乐
isplay = true;
mciSendString("open level.mp3", 0, 0, 0);
mciSendString("play level.mp3", 0, 0, 0);
//背景地图纵坐标初始化
bky0 = -HEIGHT;
bky1 = 0;
//初始化我的飞机的坐标
myairplanex = (WIDTH - 60) / 2;
myairplaney = HEIGHT - 62;
//初始化子弹链表
g_pMyBulletList = NULL;
}
//绘制游戏
void DrawGame()
{
BeginBatchDraw();
//输出地图
putimage(0, bky0, &bkimg);
putimage(0, bky1, &bkimg);
//输出我的飞机
//透明贴图
putimage(myairplanex, myairplaney, &myairplane[0], SRCPAINT);
putimage(myairplanex, myairplaney, &myairplane[1], SRCAND); //AND , 位运算 &
//输出背景音乐的状态
if (isplay == true)
outtextxy(5, 5, "OFF");
else
outtextxy(5, 5, "ON");
//绘制游戏运行的时间
char str[100] = {0};
sprintf(str, "%02d:%02d:%02d", h, m, s);
outtextxy(450, 5, str);
//遍历子弹
Bullet* p = g_pMyBulletList;
while (p)
{
putimage(p->x, p->y, &myBullet[0], SRCPAINT);
putimage(p->x, p->y, &myBullet[1], SRCAND);
p->y-=5;
p = p->next;
}
EndBatchDraw();
}
//更新游戏
void UpdateGame()
{
//获取一下按键消息
ExMessage msg;
peekmessage(&msg, EM_KEY|EM_MOUSE);
switch (msg.message)
{
case WM_LBUTTONDOWN:
if (msg.x >= 5 && msg.x <= 40 && msg.y >= 5 && msg.y <= 35)
{
if (isplay == true)
{
mciSendString("pause level.mp3", 0, 0, 0);
}
else
{
mciSendString("resume level.mp3", 0, 0, 0);
}
isplay = !isplay;
}
break;
case WM_KEYDOWN:
{
switch (msg.vkcode)
{
case VK_SPACE://空格
CreateBullet();
break;
case VK_UP://上键
myairplaney-=3;
if (myairplaney < 0)
myairplaney = 0;
break;
case VK_DOWN://下键
myairplaney+=3;
if (myairplaney > HEIGHT - 62)
myairplaney = HEIGHT - 62;
break;
case VK_LEFT://左键
myairplanex-=3;
if (myairplanex < -30)
myairplanex = -30;
break;
case VK_RIGHT://右键
myairplanex+=3;
if (myairplanex > WIDTH - 30)
myairplanex = WIDTH - 30;
break;
}
break;
}
}
//获取电脑从开机到现在运行的毫秒数
t2 = GetTickCount();
if (t2 - t1 > 1000) //1s
{
s++;
if (s >= 60)
{
m++;
s = 0;
if (m >= 60)
{
h++;
m = 0;
s = 0;
}
}
t1 = t2;
}
bky0++;
bky1++;
if (bky0 > HEIGHT)
bky0 = -HEIGHT;
if (bky1 > HEIGHT)
bky1 = -HEIGHT;
Sleep(10);
}
//创建子弹
void CreateBullet()
{
/*如何在链表中插入一个数据
头插法:
尾插法:
*/
/*头插法*/
Bullet* pNewBullet = (Bullet*)malloc(sizeof(Bullet));
pNewBullet->x = myairplanex + 26;
pNewBullet->y = myairplaney;
pNewBullet->next = NULL;
if (g_pMyBulletList == NULL)
{
g_pMyBulletList = pNewBullet;
}
else
{
pNewBullet->next = g_pMyBulletList;
g_pMyBulletList = pNewBullet;
}
}
/*
只要想得到,没有做不到的东西,C/C++博大精深,操作系统都敢写,你说什么做不了?????
1、不断的提高自己的想象空间,提高自己的认知,自己才能够进步
是因为兴趣才开始学习, 开始
成就感,幸福感(4万/一月)(1.2万/一月)
信得过奇哥,建议
大一:拼命学, C语言, C++, 数据结构和算法、MFC、网络编程,Qt,MySQL, 内核编程,多线程多进程,Linux高级服务器开发,Linux内核
大二:竞赛、蓝桥杯、ACM、电子设计大赛、考证:国家软考证书、软件设计师、软件架构师、程序员、 【接单】
大三:考研 + 实习
大四:上岗(1.2W/月)
VIP: 要学习10.0课程体系
每周:1,3,5 晚上8点直播,
2,4,6 复习巩固,完成作业,不懂得随时问
一对一解答。远程,打电话, 132 0732 7261(上午再睡觉),QQ,微信,
普通VIP学生:8-9个月
弟子:学一辈子 + Cocos手游开发课程 + 游戏逆向汇编反汇编课程
8880 - 1000 领取券
腾讯课堂 上课
申请腾讯课堂的教育分期 ,3期,6期,24期,没有任何利息,没有手续费
弟子:要求
下定决心
夏沫老师
远程监控
*/
没有合适的资源?快使用搜索试试~ 我知道了~
127797424219035第二节课素材源码笔记.rar
共135个文件
jpg:92个
mp3:8个
png:7个
需积分: 9 0 下载量 195 浏览量
2022-11-01
10:53:43
上传
评论
收藏 100.64MB RAR 举报
温馨提示
127797424219035第二节课素材源码笔记.rar
资源推荐
资源详情
资源评论
收起资源包目录
127797424219035第二节课素材源码笔记.rar (135个子文件)
bullet1.bmp 9KB
AirPlane.cpp 5KB
AirPlane.cpp 816B
AirPlane.exe 105KB
AirPlane.vcxproj.filters 949B
game.ico 17KB
vc120.idb 507KB
AirPlane.ilk 699KB
sucai.jpg 484KB
game5.jpg 280KB
game4.jpg 276KB
game3.jpg 274KB
game2.jpg 272KB
game1.jpg 270KB
雷霆战机.jpg 265KB
素材.jpg 164KB
敌机素材.jpg 149KB
bg5.jpg 140KB
bg.jpg 140KB
bg.jpg 140KB
bg1.jpg 95KB
player2.jpg 85KB
player1.jpg 84KB
player3.jpg 84KB
bg4.jpg 82KB
zuheji.jpg 76KB
transform1.jpg 71KB
transform3.jpg 69KB
transform2.jpg 68KB
bg3.jpg 65KB
BOSS(1).jpg 60KB
bg2.jpg 58KB
bg0.jpg 55KB
middleEnemy1(1).jpg 42KB
middleEnemy(1).jpg 40KB
bg7.jpg 33KB
敌机.jpg 32KB
BOSS(0).jpg 26KB
middleEnemy(0).jpg 24KB
middleEnemy1(0).jpg 23KB
bg6.jpg 23KB
a3-1.jpg 20KB
a3-3.jpg 19KB
a4-1.jpg 18KB
myPlane2(1).jpg 18KB
upgrading(1).jpg 18KB
a3-5.jpg 18KB
a3-4.jpg 18KB
a3-6.jpg 18KB
littleEnemy1(1).jpg 18KB
myPlane1(1).jpg 18KB
uiPlane1.jpg 18KB
uiPlane1.jpg 18KB
uiPlane1.jpg 18KB
a4-2.jpg 17KB
a3-2.jpg 17KB
a4-3.jpg 17KB
a4-6.jpg 17KB
a4-5.jpg 16KB
a4-4.jpg 16KB
myPlane2(0).jpg 14KB
a1-1.jpg 14KB
upgrading(0).jpg 14KB
myPlane1(0).jpg 14KB
uiPlane0.jpg 14KB
uiPlane0.jpg 14KB
uiPlane0.jpg 14KB
littleEnemy2_bullet(1).jpg 13KB
littleEnemy1(0).jpg 13KB
myPlane2_bullet(1).jpg 11KB
bullet3.jpg 11KB
bullet2.jpg 11KB
littleEnemy1_bullet(1).jpg 11KB
myPlane2_bullet(0).jpg 10KB
myPlane2_bullet(3).jpg 10KB
myPlane1_bullet(3).jpg 10KB
littleEnemy2_bullet(0).jpg 9KB
littleEnemy1_bullet(0).jpg 9KB
myPlane1_bullet(2).jpg 9KB
BOSS_bullet1(1).jpg 9KB
BOSS_bullet1(5).jpg 9KB
myPlane2_bullet(2).jpg 9KB
BOSS_bullet1(3).jpg 9KB
BOSS_bullet1(0).jpg 9KB
myPlane1_bullet(1).jpg 9KB
BOSS_bullet1(4).jpg 9KB
BOSS_bullet1(2).jpg 9KB
bullet0.jpg 8KB
bullet0.jpg 8KB
bullet1.jpg 8KB
bullet1.jpg 8KB
down.jpg 8KB
myPlane1_bullet(0).jpg 8KB
up.jpg 7KB
left.jpg 7KB
right.jpg 7KB
shield.jpg 6KB
a2-2.jpg 5KB
a2-3.jpg 5KB
a2-1.jpg 5KB
共 135 条
- 1
- 2
资源评论
m0_74384007
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功