首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >c++ 字母降落小游戏

c++ 字母降落小游戏

作者头像
青衫哥
发布2023-03-31 08:58:56
发布2023-03-31 08:58:56
76900
代码可运行
举报
文章被收录于专栏:C++打怪之路C++打怪之路
运行总次数:0
代码可运行

目录

知识点:

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向下速度

下面是代码部分:

代码语言:javascript
代码运行次数:0
运行
复制
#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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识点: 1、创建一个窗口,宽高为1200、800。
    • 2、如果是常用颜色,直接输入英文大写即可;如果是不常见颜色,输入:RGB(13,240,60)即可自己调色
    • 3、清理窗口
    • 4、在指定坐标输入文本信息
    • 5、音乐
    • 6.图片
    • 7、感应键盘敲击
    • 8、随机生成字母
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档