2.5D 双人赛车 铜牌收录

这是一个 ”伪3D” 赛车游戏,支持双人游戏,并且还有多个预设地图可供选择,可以和伙伴开车竞速了~还可以自己绘制地图和车辆,快来试试吧!

有趣小游戏之俄罗斯方块 铜牌收录

这是我以前写的一个俄罗斯方块小游戏,里面用到的 C++ 特性并不多。游戏主要分成了两个类来实现:Game 和 Block,分别用来实现游戏逻辑和单独的俄罗斯方块,但主要的游戏逻辑放到了 main 函数中实现。这样,每个类分工明确,就实现了俄罗斯方块游戏。代码简单,里面的每个游戏逻辑都值得初学者分析和学习

探索之路 铜牌收录

一个群里的大佬做的 DOS 版我的世界让我想到了这个游戏,后面去看了看 Terraria 的视频,学习了下,做了个极其简陋的沙盒游戏

开发环境:VS2019 + EasyX_20210730

游戏说明:

一个类似于二维版我的世界和泰拉瑞亚的沙盒游戏,你可以建造属于你的一片天地

(但因为目前方块过少,效果极其单调。。)

WASD 键:移动

Q 键:打开制作页面,再次按下返回

E 键:打开背包页面,再次按下返回

R 键:查看角色属性

ESC:设置页面(可调整为观察模式、普通模式,查看当前坐标)

大键盘1键:保存!!

制作页面:鼠标滚轮选择目标制作物品(部分物品需在工作台或熔炉旁才能制作)

背包页面:鼠标选中背包物品后拖动至使用栏便可更换使用栏物品

目前版本

...

合成立方体 (模仿) 铜牌收录

游戏介绍

在 4399 上面看到一个很有趣的小游戏:合成立方体(游戏原地址)。

游戏中,玩家需要通过所给的形状去尽可能拼凑出完整的一行一列,然后完整的行列会增加分数,一旦所给的形状无法被塞下,游戏结束。非常简单的游戏,我用了 EasyX 去复原了一下。

游戏运行截图如下:

游戏源码下载

点击这里下载游戏完整源代码

井字棋(release) 铜牌收录

对井字棋的出棋顺序进行规律的摸索,使用“气”的概念,用代码对该"规律"进行描述,实现了基本功能的一个井字棋小游戏。

七巧板Plus 铜牌收录

游戏介绍

鼠标左键拖动图形移动,松开时自动吸附,按下 ctrl 键的同时拖动则不进行吸附,右键单击图形顺时针旋转 45°,ESC 结束游戏。

新增内容

  1. 增加了点吸附效果,拖动图形松开后,触发边吸附的同时也会触发点吸附。

  2. 拖动图形的同时,若按下 ctrl 键,则不会进行吸附。

不定期更新,力求完善。。。

程序说明

简要介绍程序中的一些点。

属性

使用模板类和 lambda 表达式实现了属性,用于对外暴露字段,详见 C# 属性。

使用属性可以简化程序,减少繁琐的 get 函数和 set 函数,提高了程序的可读性。

因为是自行封装的属性,所以存在很大的缺陷,很大程度上增加了类的大小(因为把函数成员变成了数据成员),属性的重写以及访问控制的不完善等。

对象管理机制

使用 Tangram 类来管理程序中所有的图形。

...

简单的音乐游戏 铜牌收录

介绍

这是一款十分简单的音乐游戏。

编译环境:Visual Studio 2019,EasyX_20210730

游戏说明

  1. 介绍:玩家需根据音乐节奏,控制方向块,接住不断靠近的 note。
  2. 控制:Q 逆时针旋转,W 后移,E 顺时针旋转,ESC 暂停游戏,具体可于游戏中进行设置。 
  3. 若想游玩其他谱面可以访问 osu 或镜像站 v mirror (推荐 使用时可以下载其中的MINI谱面,减少不必要的空间占用)下载谱面 并将下载的 .osz 文件以 zip 格式打开并解压到 obm 文件夹中。
  4. 对于任何音乐游戏,包括该游戏都建议从最低难度开始。

项目共包含以下文件

源程序文件:

  1. main.cpp 主程序。
  2. Control.h/cpp 游戏控制部分 包含类 keycheck 单独按键控制,timer 计时器,FPSCounter 帧数计算。
  3. EasyG
...

Logic Pic(模仿) 铜牌收录

程序介绍

模仿手游 Logic Pic 做的游戏。

 

游戏介绍

玩法

根据数字的提示,左键点击白色方格,将其变为黑色,使每一行(列)的黑色方格,满足这一行(列)的数字,右键白色方格将此方格变为禁止状态,意为不涂,便于解题。左键(右键)黑色(灰色)方格,可取消其状态,变为白色普通方格。

当所有行(列)的黑色方格都满足该行(列)的数字时,解密成功。

例:3   :该行(列)三个黑色方格在一起,如上图第二列。

例:2 1:该行(列)一共有黑色方格,但是 2 和 1 需要分隔开,如上图第五列。

功能按钮

提示按钮,游戏界面下方第一个。随机获得一行(列)的正确答案,可能会出现在已经被填涂的行(列)。每局游戏只能使用一次,请谨慎使用。

记录按钮,游戏界面下方第二个。记录当前所有方格的状态。不限使用次数,但会覆盖原来的数据。

回退按钮,游戏界面下方第三个。配合记录功能使用,回退到记录时的状态。

...

贪吃蛇(纯C++) 铜牌收录

游戏说明

这是一个传统的贪吃蛇游戏,基于链表实现

界面设计参考了 https://codebus.cn/aknoi/a/snake

按键说明

  • 方向控制:↑↓←→ 或者 Q(逆时针),R(顺时针)
  • 速度:按下 space 加速,‘[’ 减速,‘]’ 加速 
  • 食物:小键盘 + 增加食物,小键盘 - 减少食物 
  • 其他:非小键盘数字键 9、0 可以调整帧率,小键盘 * 可以切换贪吃蛇模式,F1 帮助,F11 截屏

状态栏说明

  • 生命状态:贪吃蛇是否存活,由于没有设置死亡,所以只有存活和濒死两种状态
  • 等级:每吃 10 个食物升一级
  • 分数:每个食物 10 分
  • 速度:默认速度 0 ,可以调节,最快 10,最慢 -10
  • 长度:贪吃蛇的节数(包括头)
  • 食物数量:界面中的食物个数,最大 99 ,可以手动调整
...

双人击球游戏 铜牌收录

游戏说明

Player1 玩家通过 W、S 按键控制左板上下移动,Player2 玩家通过 O、L 按键控制右板上下移动。在游戏过程中,小球的速度会随着接触木板的次数增加而加快,增加游戏难度。当小球没有碰到木板时游戏结束。

效果图

完整代码

///////////////////////////////////////////////////
// 程序名称:双人击球游戏
// 编译环境:VS2010,EasyX_20200902
// 作  者:温良
// 最后修改:2021-1-31
//

#include <graphics.h>
#include <conio.h>

int main()
{
	initgraph(640, 480);
	srand(GetTickCount());
	setbkcolor(WHITE);
	cleardevice();

	setfillcolor(BLACK);
	se
...

自制小游戏 《逆行》 铜牌收录

A,D键躲避迎面而来的车辆。

所需图片资源:

#include <graphics.h>
#include <time.h>   
#include <stdio.h>
#include <string>
#include <tchar.h>
#include <iostream>
#include <conio.h>
using namespace std;
IMAGE Texture_BK;	//背景图
IMAGE Texture_Car;	//车
IMAGE Texture_Car2;	//车2
IMAGE Texture_BCar;	//车掩码
IMAGE Texture_BCar2;//车掩码2
struct player
{
	int x;

	int road_type;
	int time;
	bool Ctrl;
	void init() {
		Ctrl = f
...

2048 游戏 铜牌收录

2048 是一款益智小游戏,相信许多人都被其独特的魅力而深深折服(虐)过。在工作、学习的闲暇之余,尝试一下这样一款益智游戏,不失为放松身心、锻炼大脑的明智之举。准备好燃烧大脑了吗?想要自己用C++编制出这样一款小游戏吗?来看看我用 EasyX 实现的高仿原版版本 2048Game。(QAQ)

见缝插针 铜牌收录

游戏说明

使用鼠标左键点击发射针,当两个针的夹角小于一定限制时,游戏结束。

亮点

这个游戏比较创新的地方就是可以用鼠标控制一个动态的过程,在循环中使用鼠标点击,并且鼠标消息不受延时函数的影响。以前写代码的时候,由于鼠标消息的原因,所以会选择多线程,但是参考了正确处理鼠标消息这篇文章,了解了鼠标消息的正确用法后,觉得有必要试试,就写了一个见缝插针游戏。我觉得学习不仅就是把别人的东西学会,而且需要在学习之后实践。

期待

见缝插针游戏我只是写了一个大致的框架,重点是为了实践鼠标消息的处理,如果需要将这个游戏进一步开发,可以在针的转速,长短,以及在插在球上面针的数量上进行设置不同的关卡。

效果图

代码

///////////////////////////////////////////////////
// 程序名称:见缝插针
// 编译环境:Mictosoft Visual Stu
...