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

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

一次函数图象生成

相信大家都学过一次函数吧。 一次函数是函数中的一种,一般形如 y = k x + b ( k ,b 是常数, k ≠ 0 ),其中 x 是自变量, y 是因变量。特别地,当 b = 0时, y = k x ( k 为常数,k ≠ 0), y 叫做 x 的正比例函数( direct proportion function )。 一次函数及其图象是初中代数的重要内容,也是高中解析几何的基石,更是中考的重点考查内容。 一次函数的图像是一条直线。 这篇文章就是关于绘制用 EasyX 绘制一次函数图象。

画板

制作一个简易的画板。 1.可以在空白区域用鼠标进行绘制,目前具有的功能是可以调节画笔的颜色、粗细。 2.具有橡皮擦功能,提高了画画的容错率。 3.绘制结束后具有保存功能,可以将“杰作”保存下来。 4.此外也具有插图功能,如果你有需要标记的图片,也可以载入图片在画图板上面,对图片画线标注等等。 5.添加了一些简易的图像处理功能,比如:镜像效果,黑白二值,高斯模糊,马赛克等。

Photo Editor 铜牌收录

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

EasyX 绘图库硬核实现基于配置文件动态创建 GUI 按钮实例教程

使用 EasyX 绘图库做一个简单高亮,按动特效、声效、的封闭按钮,支持鼠标操作,使用配置文件动态创建按钮,给需要编写 GUI 程序的小伙伴们一个硬核参考。 按钮创建函数 button 和鼠标配套传参函数 buttonparm 。 目的:使用配置文件进行按钮封装,进行更加自由方便的批量创建按钮。

量角器 银牌收录

编写过程

该程序借鉴了以前编写的时钟罗盘,以及参考官网上窗口技巧实现圆形窗口。实现了一个简单的量角器程序,可以通过量角器测量一些简单图形的角度弧度等信息。

编写灵感

我在绘制图形时,需要使用 arc 这个函数,但是该函数的参数获取比较麻烦,需要获得的弧的起始角度和终止角度。那这个角度如何获取呢,其实办法有很多,例如将要绘制的图像导入到 CAD 中直接就可以量,也可以用量角器量,或者手机下载软件来量,但是最终的麻烦程度超过了写一个程序所需要的时间。所以我索性编写了一个量角器,来解决编写程序过程中遇到的麻烦。程序本来就是来解决麻烦的,而不是制造麻烦的。

使用方式

鼠标左键长按到红色的圈上可以实现量角器的拖拽,左键点击外边红色的圈可以实现量测,右键点击红色的圈退出程序。

截图

量角器

源码

////////////////////////////////////////
...

[辅助工具] LOGFONT 解放双手式的初始化

包装一下 LOGFONT

想必您已经看到了本文的简述。总的来说灰常简单,把 LOGFONT 整合到一个名字叫 StylerFont 的类里了。技术含量虽然不高,但用起来很方便。以下是一个小示范:

#include "StylerFont.h"
#include <easyx.h> /* 尽管 StylerFont.h 已经包含了 easyx.h */
#include <conio.h>

int main(int argc, char** argv) {
	initgraph(640, 480);

	// 声明一个 StylerFont 对象~
	StylerFont font;

	// 然后就直接很自然的 settextstyle
	settextstyle(font);

	// 接下来的代码随心所欲
	outtextxy(10, 10, L"Hello world!");

	_ge
...

由 EasyX 二次开发的渲染库

将绘图对象化,只需要创建一个对象并传入总渲染类,就无需自行绘图了。节省了用户自行使用各种 EasyX 绘图函数再通过循环绘图,并使用一个渲染类来进行替代。 这种改进使绘图更加容易,更重要的是,抛去自行绘图后,制作游戏时的注意力将更多的放在游戏真正的逻辑上,从而不去理会渲染的问题。 想要在绘图时将 L"Hello world" 突然变更为 L"MyUsername"?很简单,把该对象的 _String 设为 L"MyUsername" 即可。设置后,窗口中的显示将自动变为 L"MyUsername" 了。设置其字体也是如此。 图层怎么改?也有!可以把一个对象屏蔽,也可以取消屏蔽,还可以至于顶部。

我的世界红石模拟器(MinecraftRedstoneSimulator) 铜牌收录

项目介绍

这个项目是游戏《我的世界》中的红石模拟器。

程序由两个窗口组成,一个是用来输入的 cmd 窗口,另一个是用来显示地图的绘图窗口。

执行效果:

这是一个 3 x 6 点阵灯,显示着字母 A。

尽管这个模拟器是平面的,但他仍然可以实现许多在 Minecraft 中可以实现的东西,此处不再举例,release 中有 map 文件夹,里面有预设的地图,可以参考。

更多内容请在程序中输入 help 指令查看帮助。

项目下载

下载链接:https://github.com/zouhuidong/MinecraftRedstoneSimulate/

基于 MCI 播放,EasyX 为界面的音乐播放器 铜牌收录

这是一个基于 MCI 播放,使用 EasyX 作为界面的简单本地音乐播放器,支持以下操作:设置音乐搜索路径(在文件中设置),播放,暂停,下一曲,上一曲,单曲循环,顺序播放(列表循环),随机播放,设置音量大小,拖动音乐进度条(快进,快退),滚动条,展开/关闭播放列表,更换背景图等。

猪圈密码 铜牌收录

猪圈密码(Pigpen cipher),亦称共济会密码(英语:masonic cipher)或 共济会员密码(英语:Freemason's cipher),是一种以格子为基础的简单替代式密码。即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。


(Hello EasyX)

以下是使用EasyX绘制猪圈密码的一种方式。

#include <graphics.h>
#include <string>

namespace thatboy
{
	namespace Pigpen
	{

		enum : UINT
		{
			PIG_NULL = 0
			, LINE_LEFT = 0X0001 // │
			, LINE_TOP = 0X0002 // ─
			, LINE_RIGHT = 0X0004 // │
			, LINE_BOTTON = 0X0008 // ─
			, ARROW_RIGHT = 0X0010 // 
...

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

...