零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 面向对象
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 设计模式
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ STL
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 技术杂谈
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 常用函数
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 图像处理
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 算法/面试
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 项目实战
一.效果演示
二.开发环境
- 开发工具:visual studio 2019
- 开发语言:C/C++
- 依赖第三方库:EasyX(EasyX 安装教程)
三.运行环境
- 运行环境: windows
四.设计思路
- 1.导入所有的资源图片、背景音乐
- 2.初始化界面,显示飞机、敌机、子弹的图片
- 3.检查飞机状态
- 3.1.敌机出现并开始下落
- 3.2.判断飞机是否撞机
- 3.3.飞机发射子弹是否击中敌机
- 4键盘鼠标操作
- 4.1.检测是否有鼠标消息
- 4.2.鼠标移动位置则为飞机位置
- 4.3.按下鼠标左键发射子弹
- 5.结束游戏
- 6.存档和读档功能
五.部分代码演示
完整源码下载:C/C++ 学习目录 >> C/C++ 项目实战 >> C语言飞机大战2
/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): https://www.codersrc.com/
//@File:C/C++ 项目实战 – C语言飞机大战2
//@Time:2023/02/18 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/
// 初始资源
void init()
{
string background = "./res/background.jpg";
string roleImg[4] = { "./res/planeNormal_1.jpg", "./res/planeNormal_2.jpg"
,"./res/planeExplode_1.jpg" ,"./res/planeExplode_2.jpg" };
string bullImg[2] = { "./res/bullet1.jpg", "./res/bullet2.jpg" };
string enemyImg[4] = { "./res/enemy_1.jpg", "./res/enemy_2.jpg" ,
"./res/enemyPlane1.jpg", "./res/enemyPlane2.jpg" };
//图片对象
img["背景"] = new IMAGE;
img["角色"] = new IMAGE[4];
img["子弹"] = new IMAGE[2];
img["敌机"] = new IMAGE[4];
loadimage(img["背景"], background.c_str());
//c_str和data是等效
for (int i = 0; i < 4; i++)
{
loadimage(img["角色"]+i, roleImg[i].data());
loadimage(img["敌机"]+i, enemyImg[i].data());
}
for (int i = 0; i < 2; i++)
{
loadimage(img["子弹"]+i, bullImg[i].data());
}
music["开始"] = "./res/game_music.mp3";
music["分数5"] = "./res/5.mp3";
music["分数10"] = "./res/10.mp3";
music["发射"] = "./res/f_gun.mp3";
//......
}
六.完整代码下载
ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容