个人作品

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

热力学模拟实验(by 常数变易法) 铜牌收录

这个程序是热力学模拟实验。

学热力学与统计物理的时候就想设计一个程序模拟气体分子的运动,这样就能直观地检测那些热力学公式的正确性。
这个程序设计成所有粒子之间的力都是斥力,粒子和边界之间也有斥力。粒子在二维平面运动。

程序的动态执行效果如下:

完整代码如下:

// 项目:热力学模拟实验
// 作者:常数变易法(QQ:1375989292)
// 时间:2019.12.19
// 环境:VC6.0

// 学热力学与统计物理的时候就想设计一个程序模拟气体分子的运动,这样就能直观地检测那些热力学公式的正确性。
// 这个程序设计成所有粒子之间的力都是斥力,粒子和边界之间也有斥力。粒子在二维平面运动。

// 版权:作者原创,无抄袭,不涉及版权问题,仅用作学习

#include <graphics.h>						// 引用图形库头文件
#include <stdio.h>
#include <conio.h>
...

贪婪球 2.0(by 奶酪) 铜牌收录

贪婪球第一版在这里:https://codebus.cn/contributor/post/greedy-ball

2.0 版本相对第一版做了如下修改:

  1. 视野缩放,会随着体积增大视野变大,解决一代玩家球过大挡住屏幕现象
  2. 增加高杀伤力毒圈,解决满地图跑问题
  3. 提高敌人 AI 智商,会主动吃食物
  4. 修复若干已知 bug
  5. 扩大了游戏区域
  6. 全部用 c++ 重写

执行效果如下:

完整的源代码如下:

///////////////////////////////////////////////////
// 程序名称:贪婪球 2.0
// 编译环境:Microsoft Visual studio 2017,EasyX 2018春分版
// 作  者:奶酪
// 邮  箱:2190038793@qq.com
// 发布日期:2019-6-24
...

EasyUI:基于 EasyX 的 UI 界面库(by 祝融) 银牌收录

EasyUI 类构成指南

EasyUI 将 UI 拆分成了两个部分--绘制单元和事件触发器。
使用者可以使用绘制单元来控制 UI 的风格,同时选择一定的事件触发器来使 UI 具备响应事件的功能。

绘制单元:

-CDrawCell:所有绘制单元的基类
-CSimpleShape:继承自 CDrawCell,集成了通过 EasyX 图形绘制函数绘制的图形属性
-CHaveSize:所有拥有大小的类的基类
-CRect:继承自 CSimpleShape,绘制一个矩形
-CRoundRect:继承自 CSimpleShape,绘制一个圆角矩形
-CCircle:继承自 CSimpleShape,绘制一个圆形,并以绘制位置为中心(所有绘制单元都从左上角画起,除了圆)
-CEllipse:继承自 CSimpleShap,绘制一个椭圆(通过外接矩形)
-CText:继承自 CDrawCell,输出一串字符串
-CUIIm

...

C 语言高仿 FlappyBird 电脑版(by 徐洛洛) 金牌收录

该程序是用 C 语言实现的 FlappyBird 的电脑版,玩法和手机版的相同。

程序通过 alpha 域实现透明贴图,并且通过双缓冲绘图防止刷新闪屏。

程序执行效果如下:

该程序的编译环境:Visual C++ 2008,EasyX 20190314(beta)
项目类型:控制台程序

完整的项目代码与资源【请点击这里下载】。

作者:徐洛洛
QQ:1584133118
Email:1584133118@qq.com

可以自由定制的电子相册(by 席锦) 铜牌收录

这是一个自已DIY内容并且具有背景音乐的电子相册。通过自定义内容,可以制作成属于自己的电子纪念册。

点击小图可以查看每张图片以及对于的图片文字描述,按下 w、s、a、d、↑、↓、←、→ 按键可以达到和鼠标点击的同样效果。支持跳转至任意一张已加载的相片,也支持自动循环浏览相册,具体操作请点击对应的工具图标。

执行效果如下:

操作说明:

  1. 点击小相片将看到对应的大相片和相片印记
  2. 点击不同的工具图标将产生不同的效果
  3. 支持按键 w、s、a、d、↑、↓、←、→,作用分别是上下移动和左右翻页
  4. 支持跳转至任意编号相片
  5. 支持内容 DIY,具体操作请参照 Set.ini
  6. rc 文件为程序图标,不可修改
  7. res 为程序 DIY 内容所在文件夹,里面内容皆可修改

该项目的编译环境为:VS2017 + EasyX_20190314(beta)

完整的源代码【请点击这里下载】。

...

贪婪球(by 奶酪) 铜牌收录

这是模仿球球大作战写的小游戏,有食物、敌人、外面的毒圈。

操作很简单,用 A S D W 四个键控制球的移动方向。

地图大小是屏幕的16倍,吃完所有敌人就胜利。记住不要被敌人吃掉哦!

想和我交流的可以加我 QQ:2190038793

贪婪球 2.0 做了许多升级,详见这里:https://codebus.cn/contributor/post/greedy-ball-2

执行效果如下:

完整的 VC++ 源代码如下:

///////////////////////////////////////////////////
// 程序名称:贪婪球 1.6
// 编译环境:Microsoft Visual studio 2017,EasyX_20200727
// 作  者:奶酪
// 邮  箱:2190038793@qq.com
// 发布日期:2019-2-10
// 最后修改:2019-2-15
//
#inc
...

Line Way 一笔画游戏(by Smileyan) 银牌收录

Line Way 是一个简单有趣的一笔画游戏。

玩家只需要用鼠标移动到方格上,使游戏角色将所有路径走遍即可过关。

目前游戏共有 25 关。

游戏执行效果如下:

  

源代码编写环境:Visual C++ 6.0,EasyX(20190219)

完整的游戏源代码在 github 上:https://github.com/smile-yan/LineWay

作者:Smileyan
QQ:837764072
邮箱:837764072@qq.com

飞机大战游戏(by 刘华欣) 铜牌收录

这是一个简单的飞机空战游戏。

游戏操作说明:

w、s、a、d 控制飞机移动
k 发射子弹
空格暂停
ESC退出

敌机自动发射子弹、自动移动

当飞船碰到敌机、飞船血量为 0、敌机碰到底部时游戏结束
敌机血量为 0 时,会出现一个新的敌机
小敌机随机出现

结束后按 ESC 退出,按 R 重来。

游戏运行截图如下:

该游戏的编译环境为:Visual C++ 2013,EasyX_20190219(beta)。

完整的游戏源码包【点击这里下载】。

作者:刘华欣
QQ:1359240780
邮箱:1359240780@qq.com

迷宫(by 祝融) 铜牌收录

玩家被困在一个迷宫里,拥有一盏油灯,油灯能够照亮以玩家为中心的一片圆形区域,随着时间的流逝,油灯的照明力会逐渐下降,迷宫内随机分布着一些加油站(黄色的圆角矩形),经过这些加油站能够恢复油灯的照明力,找到地图右下角的终点(绿色圆角矩形)。就算过关。

游戏采用图块(N * N 的正方形)的方式构建地图,且墙壁,地面,玩家,终点采用四个独立的函数绘制,如果想改变地图的风格,只需要修改这些函数的内容即可。

运行效果如下:

迷宫生成采用的深度优先算法,有明显的主路。

完整的游戏源代码如下:

//////////////////////////////////////////////
// 程序名称:迷宫
// 程序作者:祝融
// 作者邮箱:211103376@qq.com
// 编译环境:Visual Studio 2017 + EasyX 20180727(beta)
// 发布时间:2019-2-10
// 最后修改:2019-2-13
//
...

功能强大的计算器(by 尔灵尔亿) 银牌收录

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

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

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

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

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

超大数计算:实现一些很大的数

...

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
// 最后修改时间:2018-11-29
/*************
...

背井离乡(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")

#define WATERSPEED	12.0									// 雨点速度
#define BUILDINGNUM	30										// 建筑物数量
#define RAINNUM		300										// 雨点数量
#define C
...

画板(by 冰雪女神百亚) 铜牌收录

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

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

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

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

全部代码如下:

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

// 点
struct Point
{
	int x;
...