用easyx做的消除字母游戏《字母消除大师》,快来看看吧

《字母消除大师》游戏介绍

游戏简介: 


《字母消除大师》是一款简单而富有挑战性的休闲游戏。游戏中,玩家需要快速准确地按下屏幕上随机出现的英文字母,以消除它们。随着游戏的进行,字母下落的速度会逐渐加快,考验玩家的反应速度和手眼协调能力。

游戏特色:


简洁直观的操作:游戏采用简单的点击或按键操作,玩家可以轻松上手。

随机生成的字母:每次游戏,系统都会随机生成不同的英文字母,增加了游戏的不可预测性和挑战性。

快节奏的游戏体验:字母下落的速度会逐渐加快,给玩家带来紧张刺激的游戏体验。

精美的视觉效果:游戏采用EasyX图形库开发,拥有流畅的动画效果和丰富的视觉效果,为玩家带来愉悦的游戏体验。

游戏玩法:


玩家需要在字母到达屏幕底部之前,按下对应的键盘键或鼠标点击来消除字母。
消除的字母越多,得分越高。
如果字母到达屏幕底部未被消除,游戏结束。


游戏目标:


尽可能消除更多的字母,获得更高的分数。


适用人群:


喜欢挑战和刺激的玩家。
喜欢休闲游戏的玩家。
想要锻炼反应速度和手眼协调能力的玩家。


游戏价值:


提高玩家的反应速度和手眼协调能力。
提供一种简单而有趣的休闲方式。
游戏效果图:


完整代码:

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<time.h>
 
 
HWND hwnd;
 
int score = 0;
//玩法介绍
void Welcome()
{
 
	//loadimage(NULL,L“背景,jPg”,700,500);//1.直接贴图
	//基本贴图
	IMAGE img; //定义图片变量
	loadimage(&img, "welcome.jpg", 700, 500);//加载图片
	putimage(0, 0, &img);//在指定位置显示图片
	//文字输出
 
	//背景模式
	setbkmode(TRANSPARENT);//透明
	settextcolor(GREEN);//设置文字颜色
	settextstyle(35, 0, "楷体");//设置文字风格
	//在指定位置输出字符串
	outtextxy(251, 20, "打字母游戏");
 
	settextcolor(RGB(213, 43, 196)); //设置文字颜色
	settextstyle(25, 0, "华文行楷");	//设置文字风格
	outtextxy(1, 200, "-------------游戏玩法介绍-------------");
	outtextxy(120, 251, "26个字母随机产生,并且掉落,玩家通过按键");
	outtextxy(200, 300, "按下对应的字母可以消除该字母");
 
 
	// 当没有按键被按下时,循环跳转到游戏界面
	while (!_kbhit()) {
		// 设置随机文字颜色
		settextcolor(RGB(rand() % 256, rand() % 256, rand() % 256));
		// 设置文字样式为华文行楷
		settextstyle(25, 0, "华文行楷");
		// 在屏幕上的(300,400)位置输出文本“按任意键开始游戏”
		outtextxy(300, 400, "按任意键开始游戏");
		// 暂停100毫秒
		Sleep(100);
	}
	// 等待用户输入
	_getch();
}
 
// 游戏过程
void playGame() {
	while (1) {
		// 窗口置顶
		HWND hwnd = GetHWnd();
		// 1. 直接贴图
		loadimage(NULL, "mm.jpg", 700, 500);
		// 清屏
		cleardevice();
		// 目标字母: 随机产生 [A&#126;Z]
		char target = (char)('A' + rand() % 26); // ASCII值 A&#126;Z 65
		// 按键字母
		char userkey;
		// 目标字母的坐标
		int targetX = rand() % 650 + 10;
		int targetY;
		// 下落过程
		for (targetY = 0; targetY <= 500; targetY += 5) {
			BeginBatchDraw();
			// 清屏
			cleardevice();
			// 1. 直接贴图
			loadimage(NULL, "game.jpg", 700, 500);
			// 设置文字样式为黑体
			settextstyle(25, 0, "黑体");
			// 设置文字颜色为RGB(213,43,196)
			settextcolor(RGB(244, 35,255));
			// 在(targetX, targetY)位置输出文字"target"
			outtextxy(targetX, targetY, target);
			// 暂停20毫秒
			Sleep(20);
			// 判断
			if (kbhit()) {
				userkey = getch();
				if (userkey == target || userkey == target + 32) { // 按键按下的字母一致
					// 分数加
					score += 10;
					break;
 
				}
				else {
					// 按错了
					MessageBox(hwnd, "你按错了,还需要努力,加油练习手速", "GAMEOVER", MB_OK);
					return;
				}
			}
			//格式化打印
			char grade[20] = "";
			sprintf(grade, "score :%d", score);
			settextstyle(20, 0, "黑体");
			settextcolor(RGB(200, 60, 200)); outtextxy(600, 20, grade);
			//设置文字颜色
			EndBatchDraw();
 
 
		}
		if (targetY >= 500) {
			MessageBox(hwnd, "手速过慢,还需要加油练习", "GAME OVER", MB_OK);
			return;
		}
 
	}
}
 
 
 
int main() {
 
 
	//初始化图形环境:宽*高
	initgraph(700, 500);
 
 
	Welcome();
	playGame();
	_getch();
	closegraph();
	return 0;
	//防止闪屏
	//关闭图形环境
}

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天若有情673

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

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

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

打赏作者

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

抵扣说明:

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

余额充值