分享一个c语言小游戏可以帮助大家更好的熟悉c语言
这个就是前几年很火的手机小游戏飞行的小鸟
1.游戏流程:小鸟不断下落使用按键让其飞起来不断的穿过两个管子。
2.游戏框架:采用老师提供的框架和重要模块分开编写,使用easyx图形系统。
a.核心算法:使用了坐标的判断,和判断语句的熟练运用。
b.程序调度。
c.透明贴图消除图片的背景方框
d.文件的使用
3.代码优化。
先看一下游戏效果
现在开始上代码
先上流程图
//
//
//flybrid小游戏
// 主要玩法:
// 使用空格键让不断下落的小鸟在管子中间穿梭
// 若碰到了地板,顶部,管子游戏结束
// 保存最高分数
#include"head.h"
int x = 0;//分数
int max;//最高分
IMAGE back;//背景图
IMAGE per;//小鸟图
IMAGE bird1;//小鸟底图
IMAGE up;//管子图
IMAGE down;//管子图
IMAGE lend;//地板图
IMAGE over;//游戏结束图
IMAGE over1;//游戏结束底图
IMAGE began;//开始游戏图
IMAGE began1;//开始游戏底图
IMAGE diff;//困难模式游戏图
IMAGE again1;//重新开始游戏图
IMAGE out;//退出图
IMAGE open;//开机动画的图
//IMAGE again;
MOUSEMSG k;
//小鸟的结构体
struct Bird {
int x; //小鸟的横坐标
int y; //小鸟的纵坐标
int speed; //小鸟下坠的高度
}bird = { 100,250,30 }; //初始化
//管子的结构体
struct pipe {
int x; //管子的横坐标
int y; //管子的纵坐标
int h; //管子的高度
};
//加载资源
void loadRescue() {
loadimage(&back, "bg_night.png"); //加载背景图
loadimage(&per, "bird.png",30,30); //加载小鸟图
loadimage(&bird1, "bird1_1.png", 30, 30);
loadimage(&lend, "land.png"); //加载地板图
loadimage(&over, "game_over.png"); //加载游戏结束图
loadimage(&over1, "text_game_over_1.png"); //加载游戏结束图
loadimage(&down, "down.png"); //加载管子图
loadimage(&up, "up.png");//加载上管子图
loadimage(&began, "button_play.png");//简单模式游戏图
//loadimage(&again, "again.png");
loadimage(&again1, "again1.png");//重新开始图
loadimage(&began, "button_play.png");
loadimage(&began1, "button_play_1.png");
loadimage(&out, "back.png");
}
//开始的按钮
void Booton() {
Startmove();
MOUSEMSG m;//鼠标定义
MOUSEMS