经典游戏贪吃蛇。
源代码如下:
////////////////////////////////////////////
// 程序名称:贪吃蛇
// 编译环境:Visual C++ 6.0 / 2010,EasyX_2011惊蛰版
// 程序编写:轻雨漫步 <512655756@qq.com>
// 最后更新:2011-3-11
//
////////////////////////////////////////////
//开始编写游戏需要的类
////////////////////////////////////////////
#include <graphics.h> //EasyX_2011惊蛰版(绘图库)
#include <stdio.h>
#include <conio.h>
#include <time.h>
#define UP 1
#define DOWN 2
#define LEFT 3
#defi
...

经典的连连看游戏。
游戏运行截图如下:
游戏中使用了资源文件,<点这里下载该游戏的完整 VC 项目包>。
游戏主代码如下(相关图片资源请下载完整 VC 项目包):
///////////////////////////////////////////////////
// 程序名称:连连看
// 编译环境:Visual C++ 6.0 / 2012,EasyX 20120501(beta)
// 作 者:水木淋溪 <577712541@qq.com>
// 最后修改:2012-4-28
// 注:本游戏可以说是网上一个游戏的复制
// 但是是用自己的思想编制的(生成算法有参考)
// 游戏的优点我就不多说了,玩的过的人都知道
// 游戏缺点:音乐、背景选的不好,只有一关,很传统···
// 没有计时,没有提示,没有自动完成···
// 总之是有待完成,不过这些代码是核
...

这个程序模拟了知名游戏“引力球”。
按空格键开始游戏。
游戏执行截图如下:
完整的游戏源代码,作者分享在 github,地址:https://github.com/blue1ris/gravitational_ball 。
作者:blue丶1ris
邮箱:197041868@qq.com

这是一款经典的 2D 射击游戏,ASDW 控制,鼠标左键射击,空格键放技能,P 键暂停
你正以一己之力撼动整个社区最大的黑帮!杀死敌人!越多越好!
游戏运行截图如下:
完整源代码、图片及编译后的可执行文件请【点击这里下载】。
作者:Starsky
邮箱:lcj20000101@163.com

本程序的操作与 Popcap 经典的宝石迷阵(Bejeweled)游戏类似。游戏运行截图如下:
游戏中使用了大量图片、音乐、资源文件,<点这里下载该游戏的完整 VC 项目包>。
游戏代码如下(相关图片资源请下载完整 VC 项目包):
///////////////////////////////////////////////////////////
// 程序名称:对对碰
// 编译环境:Visual C++ 2010/6.0,EasyX_v20120304(beta)
// 程序编写:自然向日葵 1164359890@qq.com
// 最后更新:2012-3-10
//
////////////////////////////////////////////////////////////
//画素材的x和y都是反的,因为x表示行,但是画出来x表示列,y同
//////////////////////////////////////////////
...

该程序是用 C 语言实现的 FlappyBird 的电脑版,玩法和手机版的相同。
程序通过 alpha 域实现透明贴图,并且通过双缓冲绘图防止刷新闪屏。
程序执行效果如下:
该程序的编译环境:Visual C++ 2008,EasyX 20190314(beta)
项目类型:控制台程序
完整的项目代码与资源【请点击这里下载】。
作者:徐洛洛
QQ:1584133118
Email:1584133118@qq.com

经典的推箱子游戏。
执行效果如下:
游戏中使用了图片,【点击这里下载完整项目】
以下是项目的代码(需要图片才能编译执行):
///////////////////////////////////////////////////////////
// 程序名称:推箱子
// 编译环境:Visual C++ 2010/6.0,EasyX_2011惊蛰版
// 程序编写:自然向日葵 1164359890@qq.com
// 最后更新:2012-1-21
//
////////////////////////////////////////////////////////////
//游戏中用0表示空地,1表示人物,2表示箱子,3表示目的地,6表示围墙
//
//画素材的x1和y1都是反的,因为x表示行,但是画出来x表示列,y同
////////////////////////////////////////////////////////////
#in
...

当鼠标滑过时,可以在屏幕上实现漂亮的水波纹效果。
执行效果如下:
源代码如下:
(注意,请确保 loadimage 函数里面加载的图片路径存在)
/********************************************************
* 程序名称:实现水波纹显示 *
* 编译环境:Visual C++ 6.0 / 2010,EasyX_20210730 *
* 作 者:豪 (QQ: 415051674) *
* 核心算法:参考网上算法 *
* 发布日期:2013/3/20 *
********************************************************/
#include <graphics.h>
#include <conio.h>
#include <stdio.h>
...

由于最近从 matlab 转接到 vs 平台继续自己的仿真工作,但是却一直没有找到简易 plot 工具,于是尝试用 EasyX 开发一个绘制波形的小工具,希望可以帮助到有需要的人。
执行效果如图:
完整源代码如下:
/******************************************************************************************/
// EasyPlot 是基于 EasyX 绘图库(https://www.easyx.cn)而编写的,对实时信号进行绘制的一个工具
// 以下代码为了便于学习以源文件形式展示,如果应用于工程建议采用头文件形式封装
// 本文采用Unicode字符集,ANSI环境的读者注意相关地方格式的转换
// 作者:Ephemeroptera
// 地点:安徽大学
// 联系方式:605686962@qq.com
// 最后修改时间:2018-11-29
/*************
...
一个比较新颖的贪吃蛇程序。
用左右表示蛇向左转或向右转,上用来加速。
源代码如下:
///////////////////////////////////
// 程序名称:贪吃蛇
// 编译环境:Visual C++ 6.0 / 2008,EasyX 2013冬至版
// 作者:王垣恒 QQ:646361765
// 最后修改:2014-5-20
// 操作方式:以蛇为第一视角,左 左转;右 右转;下 暂停;上 快进。
// 状态: 黄色 蛇头;红色 蛇身;绿色 食物。
//
#include <graphics.h>
#include <string.h>
#include <time.h>
#define NUM_R 10 //半径
#define NUM_X 25 //横向个数
#define NUM_Y 25 //纵向个数
#define NUM 30 //所需节点个数
void exe(int x,int y,int f);
...
本程序模拟了以不同速度行驶的三辆小车。
源代码如下:
////////////////////////////////////////////
// 程序名称:3 辆行驶的小车
// 编译环境:Visual C++ 6.0,EasyX_20120603(beta)
// 程序编写:E_SHARE <501748772@qq.com>
// 编写时间:2012-6-26
////////////////////////////////////////////
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
// 声明需要使用的函数
void carstart(int x, int y, int z);
void drawbus();
void init();
// 定义全局变量
IMAGE img;
/////////
...
相信看到这篇文章大部分得小伙伴都是用过 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来再做几个小游戏给大家玩玩的。
大家到时候拿来过过瘾就好啦,哈哈哈
...

本程序采用面向对象技术编写,主要涉及到了三个类:GButton、GEdit、GCount。
GButton 负责按钮的放置,绘制,响应鼠标等操作。GEdit 负责编辑框的显示更新数据,通过设置其内部的字符串来更新数据, 设置函数 SetEditString 就是程序与编辑框的接口,每进行一次操作将 GCount 的字符串通过该函数传递给编辑框,然后编辑框更新数据。每个按钮内部也有字符串, 每次通过读取按钮内部的字符串来裁决 GCount 要进行的操作,当程序获取到左右操作数时,相当于用户点击了等于号按钮,程序便计算结果,并将结果传递给 GCount 内部的字符串,以便后续操作。当用户使用鼠标滑动时,会产生鼠标消息,若有鼠标消息,程序便读取一个消息,此时判断鼠标滑动的位置,函数 OnLocate 就是原来计算鼠标是否滑动到按钮上,若的确滑动到了按钮上,则将其设置为当前按钮,并将上次滑动到的按钮的颜色恢复,当前按钮的颜色将变化,至于 GButton 为什么使用二维数组,便是为了快速的将鼠标消息所对应的位置与相应的按钮映射过来,这样能迅速的找到对应的按钮,并对其进行操作。
...

本迷宫游戏支持用户自己创建迷宫,定义迷宫的出入口,并求解最短路径。
游戏运行抓图如下:
使用方法:
- 执行程序后,先按 s,开始用鼠标绘制迷宫墙壁。
- 绘制完墙壁后,按 e,用鼠标设置迷宫的出入口。
- 设置好出入口之后,按 d,动态演示迷宫的最短路径。
游戏采用面向对象技术编写,完整的游戏 VC++ 源代码下载:<点击这里下载>
作者:Redman
邮箱:huangxionging@163.com

这个程序是 BFS 寻路 Demo。
该程序可以让用户自由设置起点、终点、障碍物,并得出寻路结果。寻路算法用的是广度优先搜索算法(BFS),界面和图形显示用的是 EasyX。
程序运行界面如下:
完整的源代码如下:
// 程序名称:BFS 寻路 Demo
// 作者:光棱坦克(prismtank)
// QQ:3152239285
// 完成日期:2016-7-16
// EasyX 版本:2015-10-15
//
#include <graphics.h>
#include <stdio.h>
#include <memory.h>
#include <queue>
using namespace std;
const int WIDTH = 24, HEIGHT = 24;
struct Block
{
BYTE x, y, depth, data[200];
bool searched,
...