分享代码 快乐编程

一起学习,一起进步,从分享代码开始~

兰顿蚂蚁(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"

...

方块阵动画

一个方块阵,旋转移动的动态效果,执行效果如下:

可以在宏定义直接改变数量和画布大小等,直接感受不同的视觉效果。

完整源代码如下:

//项目名称		方块阵
//作者			星羽1704
//email			1479245050@qq.com
//联系方式		qq 1479245050
//描述			一个方块阵,旋转移动的动态效果
//编译环境		win10 64位 + vs2017 + easyx—ver: 20180727(beta)
////////////////////////

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

////////////宏定义
//	常量
#define PI					3.141
...

多边形万花筒动态

这个程序实现了一个由五角星反复变形的多边形,执行效果如下:

可以在宏定义直接改变数量和画布大小等,直接感受不同的视觉效果。

全部源代码如下:

//项目名称		多边形万花筒动态
//作者			星羽1704
//email			1479245050@qq.com
//联系方式		qq 1479245050
//描述			由五角星反复变形的多边形,可以在宏定义直接改变数量和画布大小等,直接感受不同的视觉效果。
//编译环境		win10 64位 + vs2017 + easyx—ver: 20180727(beta)

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

// 宏定义
#define PI				3.1415926535897932384626433832795
#define 
...

方块旋转动态

这个程序展示了一组旋转立方体构成的动态图像。

完整源代码如下:

// 项目名称		方块旋转动态
// 作者			星羽1704
// email		1479245050@qq.com
// 联系方式		qq 1479245050
// 描述			将三维空间的点投影到二维平面,感受三维正方体的旋转的视觉盛宴
//				暂时做到这点,以后要修改的话,应该是2019年的6月了。
// 编译环境		win10 64位 + vs2017 + easyx—ver: 20180727(beta)
//
#include <graphics.h>
#include <math.h>

#define		Db_x				640
#define		Db_y				640 
#define		center_x			Db_x/2
#define		center_y			Db_y/2
#define		s
...

镜像绘图程序:迷盘(Mirror Paint)

微软应用商店里面有个有趣的镜像绘图程序 Mirror Paint,以下代码模拟了这个镜像绘图程序的基本功能,效果如下:

完整代码如下:

///////////////////////////////////////////////////////////
// 程序名称:迷盘(mirror_paint)
// 编译环境:Visual Studio 2017 / EasyX_20180727(beta)
// 程序编写:忧郁 506688268@qq.com
// 最后更新:2018-08-09
////////////////////////////////////////////////////////////

#include <graphics.h>
#include <iostream>
const int Width = 1280;               // 客户区宽
const 
...

画板(by 冰雪女神百亚)

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

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

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

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

全部代码如下:

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