慢羊羊的空间

无为,无我,无欲,居下,清虚,自然

在 EasyX 中使用外部字体文件设置字体样式 铜牌收录

在 EasyX 输出字体的时候,要求字体在当前环境中可用,否则就无法看到字体的效果。使用系统中默认存在的字体比较简单,可以直接使用。但是如果字体是自己精心挑选的,系统中不存在,将程序发给别人以后,要求别人安装字体才能启动程序看到效果,就不太合适了。本文详细讲述在不安装字体的前提下如何通过字体文件设置字体样式。

万能的排查错误方法:代码删减法

对于一个成熟的程序员来说,不管任何代码错误,没有找不到的错误,只是时间问题罢了。

一些初学者在面对代码错误的时候,全凭肉眼看。尤其是代码比较长的时候,更是对 bug 无从下手。这里推荐初学者一个排查错误的方法:删减法。

所谓删减法,就是逐步删除项目里的无关代码,确保每一步删减之后,故障都存在。删到最后无法再删的时候,通常你就能发现问题在哪了。

下面举个例子,有个同学在写一个画图板项目,执行后画圆时有错误,会产生这样的效果(画的圆有明显的残影):

完整的有 Bug 的源码如下(代码不太成熟,请忽略):

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


void InitGUI(int color[])
{
	setbkcolor(WHITE);
	cleardevice();
	rectangle(140, 410, 500, 470
...

解决编译错误:C4996:'GetMouseMsg': This function is deprecated. 铜牌收录

问题概述

EasyX 提供了两个头文件:

  • graphics.h
  • easyx.h

easyx.h 包含最新的函数,并且删掉了旧函数。graphics.h 引用了 easyx.h,同时提供了对旧函数的支持。使用 graphics.h 里面提供的旧函数时,会收到一个 Warning C4996,例如使用旧函数 GetMouseMsg,会收到编译提醒:

C4996:'GetMouseMsg': This function is deprecated. Instead, use this new function: getmessage. See https://docs.easyx.cn/getmessage for details.

在过去,Visual C++ 默认会将 C4996 归类为 Wa

...

编程语言真的没有好坏之分吗?

经常在某些社区看到有人在讨论编程语言的好坏,然后经常会看到有人回复“编程语言没有好坏之分”。可事实上,编程语言真的有好坏之分。

举几个例子吧。

先说 Delphi,这当年可是火遍了全球的东西,其研发公司 Borland 在 DOS 时代开发了神器 Turbo C,以及当年竞赛广泛使用的 Turbo Pascal。Delphi 就是 Pascal 的 Windows 版本。可惜在发展理念上大牛 Anders 未能得到公司的支持,微软挖走,从此 Borland 公司一蹶不振,Delphi 也变得无人问津。当年用 Delphi 开发的项目,都废了。最典型的就是 Dev-Cpp,这是一个使用 Delphi 开发的开源免费的编译器。由于使用 Delphi 的开发人员越来越少,有能力和财力且愿意继续维护 Dev-C++ 的公司并不多。几经转手,目前维护 Dev-C++ 的是从 Borland 手中买到 Delphi 的 Embarcadero 公司。

再说说 Objective-C,这纯粹就是当年苹果宣传的结果。在苹果投入大量资金进行广告宣传的前提下

...

数字拼图游戏 银牌收录

这是一个简易的拼图游戏,一共有 15 个数字方块,将其一行行的排列为 1~15 即可完成。游戏会记录下完成拼图的时间。我想说的是,很多时候,精彩的游戏不一定非要用图片。将游戏的功能和手感都做好,游戏一样好玩。所以我就做了这个拼图游戏当作例子。

C 语言天罡三十六题 - 封神九题(2021-5-29) 金牌收录

许多同学在学完 C 语言之后,感觉会比较迷茫,不知道该怎样进行下一步练习。接着学《数据结构》像听天书一样,无论怎么努力都学不通透。这都是因为缺少足够的练习所致。本文总结出有限的 36 个练习程序,能独立完成这些程序,再学《数据结构》,会让你有醍醐灌顶的感觉。

C 语言天罡三十六题 - 精英九题(2021-5-29) 金牌收录

许多同学在学完 C 语言之后,感觉会比较迷茫,不知道该怎样进行下一步练习。接着学《数据结构》像听天书一样,无论怎么努力都学不通透。这都是因为缺少足够的练习所致。本文总结出有限的 36 个练习程序,能独立完成这些程序,再学《数据结构》,会让你有醍醐灌顶的感觉。