字母消消乐游戏(C语言版本_2023首篇新作)

news2024/12/27 17:11:19

上一篇: 2022圣诞树(C语言摇钱树版本)

逐梦编程,让中华屹立世界之巅。
简单的事情重复做,重复的事情用心做,用心的事情坚持做;


文章目录

  • 前言
  • 一、图形库准备
    • 1.EasyX绘图库下载
    • 2.EasyX作用
  • 二、游戏内画面展示
    • 1.游戏开场介绍
    • 2.游戏画面
    • 3.游戏结束画面
  • 三、游戏源码(爱会消失吗)
  • 总结
  • 壁纸(以爱之名)


前言

你的老怀表还在转吗

你的旧皮鞋还能穿吗

这儿有一支未来牌香烟

你不想尝尝吗

凭借着一首《new boy》开场,感叹时光流逝,岁月变迁,往事飘飘渺渺,好像过眼云烟,回忆中的故事,在我以为的永远里,悄悄改变。

陪伴着CSDN也走过了一段奋斗的旅程,每当新出一篇文章,我都希望有浏览过博主作品的学者能有所成长;编程是一条漫长且艰辛的道路,唯有学习不会辜负,也终将感谢今天努力的自己;春节已经告一段落,该继续跟随2023年新的脚步了;

本期以怀旧为主题,制作一个字母消消乐简易版本,致敬当年的小霸王游戏机,


一、图形库准备

1.EasyX绘图库下载

EasyX: 下载官网

“下载 -> 安装 -> 使用”,全过程不超过一分钟。具体安装步骤请参考
https://easyx.cn/setup

在这里插入图片描述

2.EasyX作用

EasyX 含有一些简单的函数集合,几乎不用学习,直接翻看参考手册就可以直接使用。在线参考手册地址 https://docs.easyx.cn

EasyX 在 C/C++ 学习、编写小游戏、图形学、图像学、分形学、粒子系统、物理模拟等各种场景都有应用。

在这里插入图片描述

二、游戏内画面展示

1.游戏开场介绍

在这里插入图片描述

2.游戏画面

在这里插入图片描述

3.游戏结束画面

在这里插入图片描述

三、游戏源码(爱会消失吗)

代码如下(示例):

/*-----------------------------------【程序说明】----------------------------
*			 项目命题:   爱会消失吗(C语言)
* 			 代码所属:   枫霜剑客
* 			     作者:   阿甘
* 		     开发时间:   2022/10/15
*			IDE 版 本:   Visual Studio 2019
*		     项目版本:   1.0.0.1
*---------------------------------------------------------------------------*/
//原文链接:https://blog.csdn.net/gzplyx/article/details/128200056

#pragma warning(disable:4996)
#include <graphics.h> //需先安装EasyX绘图库,此为开源库,不懂的小伙伴可以看我的其他项目有做介绍如何下载安装
#include <conio.h>
#include <time.h>


// 欢迎界面
void welcome()
{
	// 输出屏幕提示
	cleardevice();
	setcolor(YELLOW);
	setfont(64, 0, "黑体");
	outtextxy(160, 50, "爱会消失吗");
	setcolor(WHITE);
	setfont(16, 0, "宋体");
	outtextxy(100, 200, "是一款传统的掉字母时按相应键抵消的小游戏");
	outtextxy(100, 240, "大致做了一个简单的实现");
	outtextxy(100, 280, "功能并未很完善,例如生命数、分数等都没有写");
	outtextxy(100, 320, "感兴趣的小伙伴可以自行添加,并不是很难,突破自我才有成长哈");
	outtextxy(100, 360, "                                      ---作者:枫霜剑客_甘");
	
	// 实现闪烁的“按任意键继续”
	int c=255;
	while(!kbhit())
	{
		setcolor(RGB(c, 0, 0));
		outtextxy(280, 400, "按任意键继续");
		c -= 8;
		if (c < 0) c = 255;
		Sleep(20);
	}
	getch();
	cleardevice();
}

// 退出界面
void goodbye()
{
	cleardevice();
	setcolor(YELLOW);
	setfont(48, 0, "黑体");
	outtextxy(104, 180, "编程不易  共筑未来");
	outtextxy(104, 280, "----Good Game!----");
	getch();
}

// 主函数
void main()
{
	initgraph(640, 480);		// 初始化屏幕为 640x480
	
	welcome();					// 显示欢迎界面
	
	srand(time(NULL));			// 设置随机种子
	setfont(16, 0, "Arial");	// 设置字母的字体和大小
	setfillstyle(BLACK);		// 设置清除字母的填充区域颜色
	
	char target;				// 目标字母
	char key;					// 用户的按键
	int x, y;					// 字母的位置
	
	// 主循环
	while(true)
	{
		target = 65 + rand() % 26;		// 产生任意大写字母
		x = rand() % 620;				// 产生任意下落位置
		for (y=0; y<460; y++)
		{
			setcolor(WHITE);			// 设置字母的颜色
			outtextxy(x, y, target);	// 显示字母
			
			if(kbhit())
			{
				key = getch();			// 获取用户按键
				
				if((key == target) || (key == target + 32))
				{
					// 按键正确,“击落”字母(画黑色方块擦除)
					bar(x, y, x + 16, y + 16);
					break;				// 跳出循环,进行下一个字母
				}
				else if (key == 27)
				{
					goto EXIT;			// 如果按 ESC,退出游戏主循环
				}
			}
			
			// 延时,并清除字母
			Sleep(10);
			bar(x, y, x + 16, y + 16);
		}
	}
	
EXIT:
	// 退出部分
	goodbye();
	
	// 关闭图形界面
	closegraph();
}

总结

生活,不要太纠结,岁月,不要太不舍,日子,不要太吝啬,梦想,不要太迷茫,一年是一个终点,新年是一个始点,愿2023的你幸运相伴,成功相随,希望更多,幸福更长。

文末了,喜欢的小伙伴帮忙点个赞收藏下,谢谢一路相伴!

壁纸(以爱之名)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/354509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5年软件测试工程师分享的自动化测试经验,一定要看

今天给大家分享一个华为的软件测试工程师分享的关于自动化测试的经验及干货。真的后悔太晚找他要了&#xff0c; 纯干货。一定要看完&#xff01; 1.什么是自动化测试&#xff1f; 用程序测试程序&#xff0c;用代码取代思考&#xff0c;用脚本运行取代手工测试。自动化测试涵…

0.2opencv库源码编译

如何编译opencv库源码 大家好&#xff0c;我是周旋&#xff0c;感谢大家学习【opencv源码解析】系列&#xff0c;本系列首发于公众号【周旋机器视觉】。 上篇文章我们介绍了如何配置opencv环境&#xff0c;搞清了opencv的包含目录include、静态库链接以及动态库链接的作用。 【…

汽车安全硬件扩展 AUTOSAR SHE SecureHardwareExtensions

SHE&#xff08;Secure Hardware Extension&#xff09;在车联网中&#xff0c;被应用在车端ECU中负责安全存储与安全计算。是由HIS&#xff08;由Audi、BMW、Porsche、Volkswagen组成&#xff09;制定的标准&#xff0c;中文意思“安全硬件扩展”&#xff0c;是对任何给定微控…

【Python】Python读写Excel表格

简要版&#xff0c;更多功能参考资料1。1 Excel文件保存格式基础概念此处不提&#xff0c;详见资料1。Excel的文件保存格式有两种&#xff1a; xls 和 xlsx。如果你看不到文件后缀&#xff0c;按下图设置可见。xls是Office 2003及之前版本的表格的默认保存格式。xlsx 是 Excel …

Javac命令详解

命令行 用法: javac <options> <source files> 其中, 可能的选项包括:-g 生成所有调试信息-g:none 不生成任何调试信息-g:{lines,vars,source} 只生成某些调试信息-nowarn 不生成任何警告-ver…

学习 Python 之 Pygame 开发坦克大战(一)

学习 Python 之 Pygame 开发坦克大战&#xff08;一&#xff09;Pygame什么是Pygame?初识pygame1. 使用pygame创建窗口2. 设置窗口背景颜色3. 获取窗口中的事件4. 在窗口中展示图片(1). pygame中的直角坐标系(2). 展示图片(3). 给部分区域设置颜色5. 在窗口中显示文字6. 播放音…

MyBatis 之三(查询操作 占位符#{} 与 ${}、like查询、resultMap、association、collection)

文章目录1. 参数占位符 #{} 和 ${} 的区别2. ${} 的优点3. SQL 注入问题4. like 查询5. 返回字典映射&#xff1a;resultMap6. 一对一查询&#xff1a;association7. 一对多查询&#xff1a;collection回顾一下&#xff0c;在上一篇 MyBatis 之二&#xff08;增、删、改操作&am…

APP测试中IOS和Android的区别,有哪些注意点?

01、常识性区别 02、导航方式 iOS&#xff1a;Tab放在页面底部&#xff0c;不能通过滑动来切换&#xff0c;只能点击。也有放在上面的&#xff0c;也不能滑动&#xff0c;但有些Tab本身可以滑动&#xff0c;比如天猫的。还有新闻类的应用。 Android&#xff1a;一般放在页面…

Visual Studio 高级调试-(上)

概述编程圈子里隔三差五的就会有场“谁是最强IDE”之争&#xff0c;重要的是我们需要对使用的IDE有充分的了解&#xff0c;正所谓工欲善其事&#xff0c;必先利其器。本文主要讲述Visual Studio常用的调试技巧&#xff0c;包括多类型断点&#xff0c;数据监视&#xff0c;以及多…

MySQL ---基础概念

目录 餐前小饮&#xff1a;什么是服务器&#xff1f;什么是数据库服务器&#xff1f; 一、数据库服务软件 1. 常见数据库产品 2.如何开启和停止MySQL服务 二、数据库术语及语法 1.数据库术语 2.SQL语法结构 3.SQL 语法要点 三、SQL分类 1.数据定义语言&#xff08;D…

LeetCode——1237. 找出给定方程的正整数解

一、题目 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/description/ 翻译一下题目 意思是&#xff0c;这是一个二维单调递增的函数&#xff0c;函数一共有 9 …

快速上手GoWeb开发之Gin框架

Go是一门正在快速增长的编程语言&#xff0c;专为构建简单、快速且可靠的软件而设计。 golang提供的net/htp库已经很好了&#xff0c;对于htp的协议的实现非常好&#xff0c;基于此再造框架&#xff0c;也不会是难事&#xff0c;因此生态中出现了很多框架。 Gin: Go 语言编写的…

智能洗地机什么牌子好?智能洗地机排行

要说家庭清洁热门的产品&#xff0c;洗地机肯定首当其冲&#xff0c;集洗吸拖为一体的清洁工具&#xff0c;省时又省力&#xff0c;可谓是家里清洁好助手&#xff0c;今天笔者就为大家介绍几款重量轻、噪音轻、拖地干净的洗地机! 一、CEYEE希亦T800洗地机 在国内&#xff0c;洗…

13.进程---

一、进程的概念 1.可以用ps或top查看进程 2.pid0;交换进程&#xff08;作用是进程调度&#xff09; pid1;init进程&#xff08;作用是系统初始化&#xff09; 3.getpid();//获取自身的进程标识符 4.getppid();//获取父进程的进程标识符 什么是父进程&#xff1f; 答&#x…

【GStreamer 】 TX1中CPU和GPU解码显示海康相机RTSP流

大家好&#xff0c;我是虎哥&#xff0c;今天找了一套海康的相机&#xff0c;想后续测试一下DeepStream用网络相机RTSP流做输入看看后续目标识别和分类。但是还是想先实时看看视频&#xff0c;当然&#xff0c;可以选择VLC去查看&#xff0c;顺道我也用GStreamer 来测试了一下&…

HashMap原理详解

一、hashmap简介 hashmap是Java当中一种数据结构&#xff0c;是一个用于存储Key-Value键值对的集合&#xff0c;每一个键值对也叫作Entry。 二、JDK7的HashMap1、JDK7时HashMap的数据结构 1、在JDK7之前&#xff0c;hashmap底层采用数组链表的数据结构来存储数据 2、插入数据采…

SpringBoot静态资源访问

静态资源路径 类路径下&#xff1a;/resources/static/、/resources/public/、/resources/resources/、/resources/META-INF/resources 这些路径下的资源均可直接访问&#xff1b;通过 http://ip:port/资源名称 访问即可 可在配置文件中对访问路径和访问拦截规则进行设置&…

【ArcGIS Pro二次开发】(5):UI管理_自定义控件的位置

新增的自定义控件一般放在默认的【加载项】选项卡下&#xff0c;但是根据需求&#xff0c;我们可能需要将控件放在新的自定义选项卡下&#xff0c;在自定义选项卡添加系统自带的控件&#xff0c;将自定义的按钮等控件放在右键菜单栏里以方便使用&#xff0c;等等。 下面就以一…

Maven:工程的拆分与聚合

Maven 拆分与聚合创建父工程创建子模块pom.xml配置示例拆分与聚合 在 Maven 中, 拆分是将一个完整的项目分成一个个独立的小模块,聚合是将各个模块进一步组合,形成一个完整的项目。接下来简单示例拆分与聚合的过程。 创建父工程 父工程,一个pom工程,目录结构简单,只需有…

cocos2dx 4.0 - cpp - pc版 环境搭建

开发环境vs2022 cocos2dx4.0 python2.7.18 cmake3.25安装教程&#xff08;环境搭建&#xff09;安装VS2022-Community&#xff0c; 勾选c进行安装安装cmake3.25, 勾选环境变量进行安装安装python2.7.18, 勾选环境变量进行安装下载cocos2dx4.0并解压配置cocos2dx:运行cmd,进入…