前言
编程环境: win11 VScode TDM-GCC-9.2.0
更新日期: 2023/2/1
本篇文章适用于以下情况:
你不想使用Visual Studio, 轻度使用过VScode编辑器,但你想使用EasyX库(如果你使用的是Visual Studio, 可以直接在EasyX官网找到方法)
你想学习C/C++,或你已经有一些这方面的基础想实操C/C++
你想用C/C++做一个高级(装逼)些的项目,或者说"逃离小黑框"(●'◡'●)
你在配置EasyX库时遇到了一些问题,可以直接跳到第四部分---问题总结部分
EasyX库, 通个这个库,你能很快得开发出一个属于自己的小游戏!!! 同时因为EasyX 库含有一些简单的函数集合,几乎不用学习,直接翻看参考手册就可以直接使用.
下面是一些大佬的作品截图



准备工作
1.安装VScode和必要的插件
安装VScode不必多讲,网上也有很多优秀的教程,大家可以自行搜索.
在左侧扩展商店搜索chinese和c/c++,并安装


2.安装TDM-GCC编译器
官网下载速度慢,我将资源拷到百度网盘,安装包亲测无误.
在D盘新建文件夹名为codeConfiguration,再在此文件下新建文件夹名为TDM-GCC-64
(当然你也可以根据自己喜好选择安装位置,但路径中最好不要有中文名.如果你安装路径与文章不同,下面一些步骤中的参数要记得对应替换为你的路径)

安装TDM-GCC



检查是否安装成功
Windows键+R → 输入cmd → 点击确定 → 在命令提示符窗口输入g++ -v
结果如下:

如果输出gcc版本号,则证明你的TDM-GCC编译器安装成功!!!可以进行下面的步骤.
补充: TDM-GCC是基于开源编译器MinGW设计的闭源编译器,两者略有不同,但MinGW版本很多很杂,而EasyX不能支持大部分MinGW版本,如果你之前是MinGw编译器,建议换为TDM-GCC编译器.如果你的MinGW编译器是以下版本也可以选择不换.
对于 MinGW-w64 8.1.0 版本,easyx4mingw 支持 x86_64-posix-seh、x86_64-win32-seh、i686-posix-sjlj、i686-win32-sjlj,但不支持 x86_64-posix-sjlj、x86_64-win32-sjlj、i686-posix-dwarf、i686-win32-dwarf。
3.安装EasyX库
将 include 文件夹下的 easyx.h 和 graphics.h 拷贝到 D:\codeConfiguration\TDM-GCC-64\x86_64-w64-mingw32\include文件夹里。
将 lib64\libeasyx.a 拷贝到 D:\codeConfiguration\TDM-GCC-64\x86_64-w64-mingw32\lib 文件夹里。
将 lib32\libeasyx.a 拷贝到 D:\codeConfiguration\TDM-GCC-64\x86_64-w64-mingw32\lib32 文件夹里。
如果你的TDM-GCC的安装路径和文章写的不同,这部分操作请替换到你的安装路径中
如果你使用的是MinGW编译器,这个步骤类似,MinGW安装位置也存在文件夹x86_64-w64-mingw32
实操:利用EasyX库函数画圆
通过上面的准备工作,我们已经完成了编程环境上面的全部配置,下面就能通过写代码让窗口画圆
如果你之前使用过VScode调试C/C++,可以按照自己的方法新建工作区,但要注意!!!在tasks.json中添加"-leasyx"参数,详细见下面的代码
如果你没有用过VScode,建议按照下面的步骤操作,之后不断地学习你会明白下面操作的含义
1.建立工作区
在合适的位置新建文件夹名为MyGame, 在MyGame下新建.vscode文件夹

2.通过VScode打开MyGame文件夹

3.新建文件
在MyGame下新建main.cpp文件,在.vscode文件夹下新建launch.json、tasks.json和c_cpp_properties.json文件

4.配置文件
配置launch.json、tasks.json和c_cpp_properties.json文件
将下面内容分别复制到对应三个文件中,并仔细查看我标注的需要修改的地方
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch (GDB)",
"type": "cppdbg",
"request": "launch",
"targetArchitecture": "x86",
// 要进行调试的可执行文件的路径
"program": "${workspaceRoot}/main",
// 注意!!!修改我 gdb调试器路径,这里选择TDM-GCC安装目录下的gdb
"miDebuggerPath":"D:\\codeConfiguration\\TDM-GCC-64\\bin\\gdb.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"externalConsole": true,
// 调试会话前执行的任务,这里是task.json中配置好的编译任务
"preLaunchTask": "g++",
// pretty-printing配置,可以直观打印出C++中的容器
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
}
]
}
tasks.json
{
"tasks": [
{
"type": "cppbuild",
// g++ 是编译任务的名字,当按下Ctrl+shift+B快捷键时,在终端窗口
// 会显示"正在执行任务: g++"
// 当然你可以随意修改labal
"label": "g++",
//注意!!!修改我
"command": "D:\\codeConfiguration\\TDM-GCC-64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-leasyx"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
//注意!!!修改我
"detail": "编译器: D:\\codeConfiguration\\TDM-GCC-64\\bin\\g++.exe"
}
],
"version": "2.0.0"
}
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
//注意!!!修改我
"compilerPath": "D:\\codeConfiguration\\TDM-GCC-64\\bin\\gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
5.将代码复制到main.cpp中,调试
main.cpp
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480);
circle(320, 240, 100);
_getch();
return 0;
}
按下F5,正常情况下应该就会像下图所示,弹出一个框框,框框中有一个圆.

你也可以复制下面代码,再运行,就能得到一个彩虹!!!
#include <graphics.h>
#include <conio.h>
int main()
{
// 创建绘图窗口
initgraph(640, 480);
// 画渐变的天空(通过亮度逐渐增加)
float H = 190; // 色相
float S = 1; // 饱和度
float L = 0.7f; // 亮度
for(int y = 0; y < 480; y++)
{
L += 0.0005f;
setlinecolor( HSLtoRGB(H, S, L) );
line(0, y, 639, y);
}
// 画彩虹(通过色相逐渐增加)
H = 0;
S = 1;
L = 0.5f;
setlinestyle(PS_SOLID, 2); // 设置线宽为 2
for(int r = 400; r > 344; r--)
{
H += 5;
setlinecolor( HSLtoRGB(H, S, L) );
circle(500, 480, r);
}
// 按任意键退出
_getch();
closegraph();
return 0;
}

可能出现的问题及解决办法
如果你TDM-GCC安装正确, gcc、g++也在环境变量中,依旧出现无法调试问题,那多半是因为你配置文件的问题,你可以删除.vscode文件夹,然后重新创建三个配置文件,并复制上面的模板.
1.按下F5后, 提示"找不到任务g++"

这说明你的launch.json设置中寻找的是任务名为g++的编译任务,而tasks.json中设置的任务名不是g++,故报错提示找不到任务g++.
也就是你launch.json中preLaunchTask的参数与tasks.json中label的参数不一样,像下图所示.
你只需要将它们都改为g++即可解决问题.


2.preLaunchTask "g++"已终止,退出代码为-1
这是因为你的tasks.json缺少参数"-leasyx"

遇到实在无法解决的问题
如果是配置问题,你可以阅读VScode官方提供的说明文档,它详细讲解了launch.json、tasks.json和c_cpp_properties.json文件中各个值的含义.
Get Started with C++ and Mingw-w64 in Visual Studio Code
你可以选择重新安装TDM-GCC, 因为有可能是你TDM-GCC安装包的问题,你可以安装下面的TDM-GCC安装包.亲测有效
参考以下大佬的文章,如果看本篇文章依旧没能解决问题,可以从以下文章中找找答案.
在 CLion、Dev-C++ 或 Code::Blocks 下面配置 EasyX(2022-9-1 更新) - CodeBus
如果依旧有问题欢迎评论区留言
总结
通过这篇文章,你已经完成了通过EasyX库开发游戏的硬性要求,想要开发出属于自己的游戏,你还要继续学习C/C++和EasyX库.
你可以在Github上找一些项目,来阅读,感受大佬们的游戏设计思路.