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

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

使用 EasyX 实现的学生成绩管理系统 银牌收录

这是一个使用 C++ 和 EasyX 绘图库实现的学生成绩管理系统,里面包含了查看学生、搜索学生、添加学生等操作。简单地封装了一下界面,使得程序可以添加按钮、表格等控件,在细节方面处理得也比较到位。代码中运用到了一些类、继承、多态等面向对象特性,值得初学者学习。

Photo Editor 铜牌收录

寒假过半的时候,我突发奇想写一个图片编辑器出来,经过半个月的折腾写出来这个 Photo Editor,代码不算优良,仅供参考

无限循环的几何 铜牌收录

做一个旋转的立体几何,这个立体几何为三个相互嵌套着的正方体,让这三个大小不一的正方体分别绕着不同的轴线旋转。 1.初始时的就是一个正视图为正方形中心在原点的正方体,称之为初始状态。 2.调整正方体使其两个顶点以及中心在 Z 轴上,此时正方体的正视图为正六边形,也就是展示状态。 3.在旋转的时候,需要将正方体调整回初始状态,旋转完毕后再调整为展示状态。 4.从三维直角坐标系中左手系的来说,最外围的正方体沿着 Y 轴转动,中间的正方体沿着 XOZ 平面中 x+z=0 轴线转动,最内的正方体沿着 XOZ 平面中 x-z=0 轴线转动。

刮刮乐(掩码图的范例) 银牌收录

这个程序模拟了刮刮乐的刮卡操作,按下鼠标左键并移动可以刮开刮卡层。刮卡操作是通过掩码图实现的,一张隐藏的待刮开背景图,一张掩码图。刮卡的时候,是在黑色的掩码图上画线,显示的时候,通过掩码图将背景图显示出来。

[视觉错觉] 隐藏的爱心 铜牌收录

这是一个有趣的视觉错觉程序。在看似整齐的方格图像当中,利用图像的细微差距,使这张图片看上去突出来一颗爱心。但是认真去看这颗心的时候,却难以找到心的边缘。

探索之路 铜牌收录

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

开发环境:VS2019 + EasyX_20210730

游戏说明:

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

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

WASD 键:移动

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

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

R 键:查看角色属性

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

大键盘1键:保存!!

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

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

目前版本

...

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

游戏介绍

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

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

游戏运行截图如下:

游戏源码下载

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

数字拼图游戏 银牌收录

这是一个简易的拼图游戏,一共有 15 个数字方块,将其一行行的排列为 1~15 即可完成。游戏会记录下完成拼图的时间。我想说的是,很多时候,精彩的游戏不一定非要用图片。将游戏的功能和手感都做好,游戏一样好玩。所以我就做了这个拼图游戏当作例子。

视觉错觉艺术 铜牌收录

一、 视觉错觉效果图如下

二、思想

先画小球从左到右排放,然后再到下一行继续重复上一个过程。

三、完整代码如下

///////////////////////////////////////////////////
// 程序名称:视觉错觉艺术图
// 编译环境:VS2019, EasyX_20200902
// 作  者:梦萤花火
// 最后修改:2021-1-24
//
#include <graphics.h>
#include <conio.h>

int x;								// X轴坐标
int y;								// y轴坐标
int g_multiples = 0;				// 倍数:作用是对弧度角进行改变
float g_PI = 3.1415927;				// 圆周率
float g_radianAngle;				// 起始角的弧度


// 实施画单个完整小球的函数
void DrawCe
...

数独 铜牌收录

功能概述

该数独有两种玩法,其一为标准数独,另一为对角线数独。标准数独规则每一行、每一列、每一个粗线宫内的数字均含1-9,不重复;而对角线数独,其相对于标准数独来说就是多了一个条件,即要求两条对角线上的数字分别均含数字1-9,不重复。

PS:设立三种难度,分别根据”完成时间”和”填错次数”来评分。

作者前言

由于我本人能力有限,该小项目是单纯用C和EasyX来实现的,好像并没有涉及高级的算法,基本上都是暴力算法(不用找了,我生成一个数独没有用到回溯法;你看过我的GameInit函数就知道了,没看过的我可以告诉你,其实就是用一个模板,再通过简单的转换,得到一个新的数独)。

因为这仅仅是个作业,而且期末需要预习了,所以我能花的时间不能太多,诸如数独的“提示”“笔记”等功能我想想还是算了,留到以后有时间再来完善。

做这个的初心还是想扎实一下自己的编程语言语法基础,培养项目工程化的思想。当然一路下来BUG必不可少,但正如老子所言:“合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。”脚踏

...