c++ 字母降落小游戏

目录

知识点:

1、创建一个窗口,宽高为1200、800。

2、如果是常用颜色,直接输入英文大写即可;如果是不常见颜色,输入:RGB(13,240,60)即可自己调色

3、清理窗口

4、在指定坐标输入文本信息

5、音乐

6、图片

7、感应键盘敲击

8、随机生成字母


知识点:
1、创建一个窗口,宽高为1200、800。

initgraph(1200, 800); 

2、如果是常用颜色,直接输入英文大写即可;如果是不常见颜色,输入:RGB(13,240,60)即可自己调色

RED; 

3、清理窗口

cleardevice;

或者也可以用(代表清理控制台)

system(“cls”);

4、在指定坐标输入文本信息

outtextxy ( x , y , L"EASY_X" );
设置字体的颜色
settextcolor ( color );
设置字体的风格(高度,宽度,字体) 通常width=0,这样系统自动调整
settextstyle ( height , width , style );
设置字体背景透明 只需要设置一次 所有文本通用
setbkmode ( 0 );

5、音乐

头文件 :mmsystem.h
#include <mmsystem.h>
库文件 :winmm.lib
#pragma comment(lib,"winmm.lib")
函数 :mciSendString
mciSendString("open 音乐名.mp3");
mciSendString("play 音乐名.mp3");
mciSendString("pause 音乐名.mp3");
mciSendString("close 音乐名.mp3");
项目 - 属性 - 常规 / 高级 字符集修改成 多字节

要将播放的音乐文件放在源文件所在文件夹内
打开后把音乐文件放入即可

注意:
1.字符串的编码格式 多字节字符集 Unicode字符集。
2.网易云下载的音乐 不能播放的!QQ音乐没问题。
3.音乐名不要出现空格。
4.记得提前先勾选上文件拓展名。
5.不要擅自修改音乐的后缀。

6.图片

        6.1基本绘图

定义图片类型

IMAGE backimg;
加载图片
loadimage(&backimg,L"backimg.jpg",width,height); 
输出图片
putimage(x,y,&backimg); 

        6.2批量绘图

作用:防止画面闪烁,使得画面连续

BeginBatchDraw();
//所有绘图代码放在这里
EndBatchDraw();
         6.3 透明绘图:
// 1. 准备 2 张图片 黑底白面 白底彩面
IMAGE img0 , img1 ;
// 2. 加载进来
loadimage ( & img0 , L"apple0.jpg" , 50 , 50 );
loadimage ( & img1 , L"apple1.jpg" , 50 , 50 );
// 3. 先贴黑底白面 (SRCPAINT) 再贴白底彩面 (SRCAND) 必须是同一位置
putimage ( 200 , 100 , & img0 , SRCPAINT );
putimage ( 200 , 100 , & img1 , SRCAND );
同样要将所有图片放入源文件所咋所在的文件夹

7、感应键盘敲击

包含头文件:
#include <conio.h>
在循环内写入:

 用来感应键盘敲击的键位

8、随机生成字母

先包含头文件

#include <ctime>

然后写入
srand(time(NULL));
letter = 'A' + rand() % 26;
9、随机生成字母掉落位置以及掉落速度

 其中speed可以控制y向下速度

下面是代码部分:
#include <iostream>
using namespace std;
#include <easyx.h>
#include <ctime>
#include <conio.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
int main()
{
	srand(time(NULL));
	initgraph(1200, 800);
	char letter;
	int x, y;
	int speed = 2;
	setbkmode(0);
	IMAGE bkimg;
	loadimage(&bkimg, "2222.jpg");
	IMAGE appimg0, appimg1;
	loadimage(&appimg0, "apple0.jpg");
	loadimage(&appimg1, "apple1.jpg");
	while (1)
	{
		letter = 'A' + rand() % 26;
		x = rand() % 1100;
		for (y = 0; y < 800; y+=speed)
		{
			BeginBatchDraw();
			putimage(0, 0, &bkimg);
			putimage(x-20, y-20, &appimg0,SRCPAINT);
			putimage(x-20, y-20, &appimg1,SRCAND);
			outtextxy(x, y, letter);
			EndBatchDraw();
			if (_kbhit())   //如果有人按键盘
			{
				char key = _getch();   //接收键盘的字符
				if (key == letter)
				{
					mciSendString("open 周杰伦-七里香.mp3", 0, 0, 0);
					mciSendString("play 周杰伦-七里香.mp3", 0, 0, 0);
					break;
				}
				else if (key == '1')
				{
					speed = 2;
					mciSendString("close quick.mp3", 0, 0, 0);
					mciSendString("open 周杰伦-七里香.mp3", 0, 0, 0);
					mciSendString("play 周杰伦-七里香.mp3", 0, 0, 0);

				}
				else if (key == '2')
				{
					mciSendString("close 周杰伦-七里香.mp3", 0, 0, 0);
					mciSendString("open quick.mp3", 0, 0, 0);
					mciSendString("play quick.mp3", 0, 0, 0);
					speed = 5;
				}
				/*else
				{
					cout << "你失败了" << endl;
					return -1;
				}*/
			}
			Sleep(10);
		}
	}
	system("pause");
	return 0;
}

所用的图片素材:

apple1.jpg

apple0.jpg

1111.jpg

音乐无法上传,自行配乐即可

声明:部分笔记来自顿开教育

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青衫哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值