用c语言将学生系统插入音效,增加音效.cpp
#include
#include
#include
//引用Windows Multimendia APT
#pragma comment(lib,"Winmm.lib")
#define Width 400
#define High 500
IMAGE img_bk; //背景图片
float position_x, position_y; //飞机的位置
float bullet_x, bullet_y; //子弹的位置
float enemy_x, enemy_y; //敌机的位置
IMAGE img_planeNormal1, img_planeNormal2; //飞机图片
IMAGE img_planeExplode1, img_planeExplode2; //爆炸飞机图片
IMAGE img_bullet1, img_bullet2; //子弹的图片
IMAGE img_enemyplane1, img_enemyplane2; //敌机的图片
int isExpolde = 0;//飞机是否爆炸
int score = 0; //得分
void startup()
{
mciSendString("open ", NULL, 0, NULL); //打开背景音乐
mciSendString("play bkmusic repeat", NULL, 0, NULL); //循环播放
initgraph(Width, High);
loadimage(&img_bk, "D:\\c语言\\游戏图片素材\\background.jpg");
loadimage(&img_planeNormal1, "D:\\c语言\\游戏图片素材\\planeNormal2.jpg");
loadimage(&img_planeNormal2, "D:\\c语言\\游戏图片素材\\planeNormal1.jpg");
loadimage(&img_bullet1, "D:\\c语言\\游戏图片素材\\bullet2.jpg");
loadimage(&img_bullet2, "D:\\c语言\\游戏图片素材\\bullet1.jpg");
loadimage(&img_enemyplane1, "D:\\c语言\\游戏图片素材\\enemyplane2.jpg");
loadimage(&img_enemyplane2, "D:\\c语言\\游戏图片素材\\enemyplane1.jpg");
position_x = Width * 0.5;
position_y = High * 0.7;
bullet_x = position_x;
bullet_y = -85;
enemy_x = Width * 0.5;
enemy_y = 10;
BeginBatchDraw();
}
void show()
{
putimage(0, 0, &img_bk); //显示背景
if (isExpolde == 0)
{
putimage(position_x - 50, position_y - 60, &img_planeNormal1, NOTSRCERASE); //显示飞机
putimage(position_x - 50, position_y - 60, &img_planeNormal2, SRCINVERT);
putimage(bullet_x - 7, bullet_y, &img_bullet1, NOTSRCERASE); //显示子弹
putimage(bullet_x - 7, bullet_y, &img_bullet2, SRCINVERT);
putimage(enemy_x, enemy_y, &img_enemyplane1, NOTSRCERASE); //显示敌机
putimage(enemy_x, enemy_y, &img_enemyplane2, SRCINVERT);
}
else
{
putimage(position_x - 50, position_y - 60, &img_planeExplode1, NOTSRCERASE); //显示爆炸飞机
putimage(position_x - 50, position_y - 60, &img_planeExplode2, SRCINVERT);
}
outtextxy(Width * 0.48, High * 0.95, "得分: ");
char s[5];
printf(s, "%d", score);
outtextxy(Width * 0.55, High * 0.95, s);
FlushBatchDraw();
Sleep(2);
}
void updateWithoutIput()
{
if (isExpolde == 0)
{
if (bullet_y > -25)
bullet_y = bullet_y - 3;
if (enemy_y < High - 25)
enemy_y = enemy_y + 0.5;
else
enemy_y = 10;
}
if (fabs(bullet_x - enemy_x) + fabs(bullet_y - enemy_y) < 80) //子弹击中敌机
{
enemy_x = rand() % Width;
enemy_y = -40;
bullet_y = -85;
mciSendString("close gemusic", NULL, 0, NULL); //先把前面一次音乐关闭
mciSendString("open ", NULL, 0, NULL); //打开音乐
mciSendString("play gemusic", NULL, 0, NULL); //仅播放一次
score++;
if (score > 0 && score % 5 == 0 && score % 2 != 0)
{
mciSendString("close 5music", NULL, 0, NULL); //先把前面一次音乐关闭
mciSendString("open ", NULL, 0, NULL); //打开音乐
mciSendString("play 5music", NULL, 0, NULL); //仅播放一次
}
if (score % 10 == 0)
{
mciSendString("close 10music", NULL, 0, NULL); //先把前面一次音乐关闭
mciSendString("open ", NULL, 0, NULL); //打开音乐
mciSendString("play 10music", NULL, 0, NULL); //仅播放一次
}
}
if (fabs(position_x - enemy_x) + fabs(position_y - enemy_y) < 150) //敌机撞中我机
{
isExpolde = 1;
mciSendString("close exmusic", NULL, 0, NULL); //先把前面一次音乐关闭
mciSendString("open ", NULL, 0, NULL); //打开音乐
mciSendString("play exmusic", NULL, 0, NULL); //仅播放一次
}
}
void updateWithInput()
{
if (isExpolde == 0)
{
MOUSEMSG m; //定义鼠标消息
while (MouseHit()) //检测是否有鼠标消息
{
m = GetMouseMsg();
if (m.uMsg == WM_MOUSEMOVE)
{
//飞机的位置等于鼠标所在的位置
position_x = m.x;
position_y = m.y;
}
else if (m.uMsg == WM_LBUTTONDOWN)
{//按下鼠标左键发射子弹
bullet_x = position_x;
bullet_y = position_y - 85;
mciSendString("close fgmusic", NULL, 0, NULL); //先把前面一次音乐关闭
mciSendString("open ", NULL, 0, NULL); //打开音乐
mciSendString("play fgmusic", NULL, 0, NULL);
}
}
}
}
void gameover()
{
EndBatchDraw();
_getch();
closegraph();
}
int main()
{
startup();
while (1)
{
show();
updateWithoutIput();
updateWithInput();
}
gameover();
return 0;
}
一键复制
编辑
Web IDE
原始数据
按行查看
历史
用c语言将学生系统插入音效,增加音效.cpp相关推荐
- 基于php语言的 选课系统,基于C语言实现学生选课系统
鉴于C语言实现的通讯录,为了巩固C语言的基础知识,试着写一个简单的学生选课系统. 思路比较简单: 1.回滚显示各种提示信息或操作信息 2.链表操作. 代码中有管理员部分功能没有实现,学生和老师的功能基 ...
- 基于C语言的学生选课系统
鉴于C语言实现的通讯录,为了巩固C语言的基础知识,试着写一个简单的学生选课系统. 思路比较简单: 1.回滚显示各种提示信息或操作信息 2.链表操作. 代码中有管理员部分功能没有实现,学生和老师的功能基 ...
- c语言添加删除课程的思路,基于C语言实现学生选课系统
基于C语言实现学生选课系统 发布时间:2020-09-03 11:41:13 来源:脚本之家 阅读:100 作者:xiaocaidayong 鉴于C语言实现的通讯录,为了巩固C语言的基础知识,试着写一 ...
- 学生兴趣爱好管理系统 c语言,《学生兴趣爱好系统.doc
<学生兴趣爱好系统 学 年 设 计 报 告 设计题目 学生爱好兴趣统计系统 作者姓名 李宁 孙斌 何小强 傅恩启 所学专业 网络工程 指导教师 杨斌 2012年 08 月 31 日 学年设计任务 ...
- c语言程序学生成绩系统论文,c语言程序设计-学生成绩管理系统论文.doc
c语言程序设计-学生成绩管理系统论文 C语言程序设计课程设计报告 - PAGE 11 - 中南民族大学工商学院 电子信息与计算机技术系 项目名称: 学生成绩管理系统 学生姓名: 学 号: 班 级: 指 ...
- c语言学生选课系统word,Linux环境下C语言《学生选课管理系统》全源代码,含流程图...
linux c语言 一个学生管理系统的源代码,并有解释 //第一部分:结构体.流程图.总结 Page1 //第二部分C语言源代码 Page10 //第一部分 一.简介: 本系统称为"学生选课 ...
- c语言代码学生学籍系统,C语言实现学生学籍管理系统.pdf
C语言实现学生学籍管理系统 这篇文章主要为大家详细介绍了C语言实现学生学籍管理系统,具有一定的 考价值,感兴趣的小伙伴们可以 考 一下 本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家 ...
- 学生成绩等级用c语言,C语言实现学生成绩等级划分的方法实例
C语言实现学生成绩等级划分的方法实例 题目·:用if-else嵌套语句实现学生成绩等级查询 要求:分为ABCD4个等级,100-90为A:90-70为B:70-60为C:60以下为D 思路: 1.先从 ...
- C/C++语言实现 学生管理系统
C/C++语言实现 学生管理系统 首先,让我分部分介绍本学生管理系统 本系统分为两个大板块,分别是学生版和教师版,学生版又分出三个具体功能,教师版分为七个功能,让我依次来介绍它们吧! (一)学生版 1 ...
- 成绩处理工具C语言论文,学生成绩管理系统C语言程序论文
C语言,大型工作语言,大型工作1项目目录1.目标...........22.主题描述和要求........23.报告内容...........3 3.1需求寻求和分析概要设计........3 3.2 ...
最新文章
- 可构造样式表 - 通过javascript来生成css的新方式
- Linux 发行版与Linux内核
- flex 下对齐_CSS3中Flex弹性布局该如何灵活运用?
- echarts饼状图mysql_echarts饼状图位置设置
- Spring核心知识
- 如何选择RabbitMQ和Kafka
- devc运行不出窗口_足不出户“云出庭”?沾化“智慧检务”让法律监督“不打烊...
- Python使用for循环打印直角三角形
- MyQL 解压版本安装与默认密码查找(Mysql版本mysql-5.7.26)
- 计量经济学及Stata应用 陈强 第八章自相关习题8.3
- 常见的相机输出接口CVBS、VGA、DVI、HDMI、SDI、Camera Link、HS-LINK、CoaXPress
- PostgreSQL 生成随机数字、字符串、日期、验证码以及 UUID
- python 100days github_GitHub - 382982408/Python-100-Days: Python - 100天从新手到大师
- npm install报gyp info it worked if it ends with ok
- android隐藏虚拟按键的几种方式
- 时尚html输入框,12款经典时尚的HTML5应用
- AirPods声音越来越小问题
- Springboot+阿里云kafka踩坑实录
- Syscall的实现
- DCT 变换(几个简单的MATLAB的例子)