个人作品

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下

2D 赛车游戏(by 极品史莱姆)

一、关于本程序
看到吧里没有人写过赛车游戏,于是我就心血来潮写了一个了
顺便在这个程序里用上几个最近学习和思考的成果
也顺便复习了一下物理和数学

二、如何建立一个地图包
1. 选择赛车,音乐,地图的素材
2. 在程序的 map 文件夹下建立一个文件夹将这些素材放入
3. 建立 set.ini 文件
详情参考工程下的文件夹 a 和 b

三、关于碰撞图的绘制
1. 黄色(0xFFFF00)为沙地,会减速
2. 黑色(0xFFFFFF)为赛道,减速较小
3. 蓝色(0x0000FF)为冰面,会滑动
4. 红色(0xFF0000)为围栏,无法通过
5. 绿色(0xFFFFFF)为终点线
6. 灰色(0xAAAAAA)为终点线的两端,用于判定方向(终点线右侧)
7. 紫色(0xFF00FF)为玩家 2 起点
8. 白色(0x000000)为玩家 1 起点
*终点线最好为宽度为一的直线!!!

...

Rolling Ball(by Teternity)

这是经典的下 100 层游戏。>_<

通过鼠标左右键或者键盘 A、D 按键及左右方向键控制小球左右移动,木板会不断上升,小球到底认定游戏结束,按下键盘后小球会加速到一个最大速度,小球在木板上则会跟着木板上移,达到一定分数启动反向操作。

本程序采用单例设计模式,RollingBall 公有继承 BallAndPlank,protected 便于派生类访问基类数据成员。

木板的颜色随机,位置随机。

界面由初始化界面大小控制,可自行更改。

游戏运行截图如下:

游戏的完整源代码如下:

/*
	项目名称:
		RollingBall
	作者:
		tzdhu.z@qq.com (1926594835)
	编译环境:
		Visual Studio 2017,EasyX_20190219(beta)
	发布日期:
		2019-2-2
	最后修改:
...

功能强大的计算器(by 尔灵尔亿)

这个计算器程序是模仿 Windows 10 系统的计算器所写的,借鉴了 Windows 10 计算器的一些外观设计以及所包含的一些功能,但是实现此计算器的所有算法是自己独立开发,其中的一些功能或许没有写的很完善。

下面介绍此计算器所包含的一些功能,以及用法。

计算器包含两大功能:计算功能、转换功能。计算功能包含普通计算器、科学计算器、超大数的计算、解一元一次方程。转换器包含体积转换、长度转换、重量转换、温度转换、能量转换、面积转换、速度转换、时间转换、功率转换、数据转换、压力转换、角度转换,包含了基本所有常用的转换。

普通计算器:实现最普通的加减乘除,通过用户输入的字符串(中缀表达式),转换为计算机可以计算的后缀表达式(后缀表达式又称逆波兰式),最后通过栈来实现计算。

科学计算器:所谓的科学计算器只是加上了一些可以计算的函数,如 sin、cos、tan 等,这个计算器不是按上面普通计算器的实现方法,而是通过数字的直接计算,功能实现的不是很好(所以我认为科学计算用起来是不怎么好用)。

超大数计算:实现一

...

FlipGame(by that boy)

FlipGame,又名点灯游戏,是一个十分有趣的智力游戏:有一行 N 行 N 列的灯,开始时全部是灭的,当你点击其中一盏灯时他的上下左右(若存在的话)状态全部改变,现在要求你以最少地步数,将全部的灯点亮。
此处使用了 8 x 8 的方格,其亮灭状态使用一个 8 字节变量按位记录,点亮状态使用了图片作为背景。

执行效果如下:

项目使用 VS2017 编译,图片内嵌到了资源文件中,并设置了应用图标。【点击这里下载全部源码】

作者:that boy
QQ:512906409
邮箱:zhuguangfeng.thatboy@gmail.com

兰顿蚂蚁(by that boy)

受到生命游戏启发,想到了这个兰顿蚂蚁,都是零玩家游戏。

在平面上的正方形格被填上黑色或白色。在其中一格正方形有一只“蚂蚁”,它的头部朝向上下左右其中一方。
若蚂蚁在白格,右转90度,将该格改为黑格,向前移一步;
若蚂蚁在黑格,左转90度,将该格改为白格,向前移一步。

以上就是兰顿蚂蚁的简单规则描述。更详细的请参考维基百科。

执行效果如下:

完整的源代码如下:

/******************************
 * 兰顿蚂蚁
 * 编译环境:VC++ 2017
 * 作者:that boy,2018/12/19
 * 最后修改:2018/12/21
 ******************************/

#include <EasyX.h>
#include <string>
#inclu

...

LuaEasyX——用 Lua C/API 封装 EasyX(by 小冰)

相信看到这篇文章大部分得小伙伴都是用过 EasyX 的,这是一个 Windows 下的 C++ 图形库,过多的介绍不再赘述。

当初接触 EasyX 时,我最大的感触就是:哇,原来还有这么简单易用的图形库!!!!

用过一段时间感觉很棒,推荐给大家!

某次突发奇想,要不我把 EasyX 封装成 Lua 模块吧,这样子就不受到编译器的限制了,只要装有相应版本的 Lua 解释器,并且提供运行库那就很 OK 啦。

大家  LuaEasyX =  require "LuaEasyX"  后自己 for k,v in pairs(LuaEasyX) do print(k,v) end 看一看

我也懒得做文档了,因为 LuaEasyX 本质就是对 EasyX 的再次封装,API 的参数几乎一模一样。

在下面放出的文件中我会把一些API的差异给列出到一个文本文档中。

以后还会用自己封装的LuaEasyX来再做几个小游戏给大家玩玩

...

基于 EasyX 的实时信号绘制工具(by Ephemeroptera)

由于最���从 matlab 转接到 vs 平台继续自己的仿真工作,但是却一直没有找到简易 plot 工具,于是尝试用 EasyX 开发一个绘制波形的小工具,希望可以帮助到有需要的人。

执行效果如图:

完整源代码如下:

/******************************************************************************************/
// EasyPlot 是基于 EasyX 绘图库(https://www.easyx.cn)而编写的,对实时信号进行绘制的一个工具
// 以下代码为了便于学习以源文件形式展示,如果应用于工程建议采用头文件形式封装
// 本文采用Unicode字符集,ANSI环境的读者注意相关地方格式的转换
// 作者:Ephemeroptera
// 地点:安徽大学
// 联系方式:605686962@qq.com
// 最后修改时间
...

背井离乡(by 萌新)

上大学一学期了,有点想家。

突发奇想,花了一天的时间,用 vc++6.0 写完了这个程序。

代码写的不怎么样,希望大家不要太严格 QAQ

执行效果截图:

完整源代码、背景音乐及编译后的可执行文件请【点击这里下载】

完整代码如下(记得附上背景音乐文件):

#include <graphics.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <stdio.h>
#pragma comment(lib,"Winmm.lib"

...

画板(by 冰雪女神百亚)

这是一个画板程序。执行效果如下:

右边颜色即对应画笔颜色,滑动条可调节画笔大小。

如果画错了想擦除,选择对应背景色作为画笔颜色即可。

如果想保存你的画作,请点击“工具”二字。此时在与exe同目录下将会有名为“easyxImage.bmp”的文件。请及时拷走,以防下次保存时被覆盖。

全部代码如下:

///////////////////////////////////////////////
// 程序名称:画板
// 编译环境:Visual C++ 2017,EasyX_20180727(beta)
// 作者:冰雪女神百亚
// QQ:1169351944
// 邮箱:cloudea@163.com
// 最后修改:2019-1-18
//
#include<string>
#include<graphics.h
...