![算法超简单:趣味游戏带你轻松入门与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/120/51722120/b_51722120.jpg)
2.1 EasyX图形库
1-3-2.cpp中的printf()函数仅能输出简单字符,这一节我们下载安装EasyX图形库,快速上手图形绘制和游戏编程。
EasyX是一个简单易用的图形库,可以免费使用。可从EasyX的官方网站下载最新版本的软件安装包,如图2-2所示。
![](https://epubservercos.yuewen.com/D47AEE/30525066604009406/epubprivate/OEBPS/Images/tx034.jpg?sign=1738830078-gzS3RJRnUl5GymntYxcba56vn9MqfpHg-0-b9be8debb1fabdd70c430e9597d1fdd9)
图2-2
单击EasyX官网右上角的“下载EasyX”按钮下载软件安装包,本书使用20220901版本。运行下载好的EasyX安装程序,弹出如图2-3所示的安装向导。
![](https://epubservercos.yuewen.com/D47AEE/30525066604009406/epubprivate/OEBPS/Images/2-3.jpg?sign=1738830078-oHVfI1xd44AKeXKyt6wtOFSWx8exMFrT-0-6a5712434d0a3f4cd27e113a3e1be97f)
图2-3
在图2-3所示的对话框中单击“下一步”按钮,安装程序会自动检测计算机上已安装的开发平台,如图2-4所示,选择想要安装EasyX的开发平台,例如选择“Visual C++ 2022”,单击对应的“安装”按钮。
![](https://epubservercos.yuewen.com/D47AEE/30525066604009406/epubprivate/OEBPS/Images/2-4.jpg?sign=1738830078-Fx6dv9CyIhfGTZn3auScxKiFZECJVT4Y-0-857606d0aee97459d4bdf10053f46d4e)
图2-4
安装成功后,在Visual Studio 2022中新建一个项目,输入2-1-1.cpp中的代码。
2-1-1.cpp
1 #include <graphics.h> // EasyX头文件 2 #include <conio.h> 3 #include <stdio.h> 4 int main() 5 { 6 initgraph(800, 600); // 初始化一个800×600的窗口 7 setcolor(YELLOW); // 圆的线条为黄色 8 setfillcolor(GREEN); // 圆内部填充为绿色 9 fillcircle(400, 300, 100); // 画圆,圆心坐标为(400,300),半径为100 10 _getch(); // 按任意键继续 11 closegraph(); // 关闭图形窗口 12 return 0; 13 }
运行2-1-1.cpp后出现如图2-5所示的窗口,并在窗口中间绘制一个黄色线条、绿色填充的实心圆。
![](https://epubservercos.yuewen.com/D47AEE/30525066604009406/epubprivate/OEBPS/Images/2-5.jpg?sign=1738830078-d3o911jzzrgD2Q9MZEr2FXWCS4cmEnsR-0-9c4c436fa3015474e53ed983b85ba92e)
图2-5
使用EasyX生成的绘制区域采用直角坐标系,左上角的坐标为(0,0)。initgraph(800, 600)生成一个宽800、高600的绘图窗口,横轴方向由x坐标表示,取值范围为0到800;纵轴方向由y坐标表示,取值范围为0到600。fillcircle(400, 300, 100)绘制一个圆心坐标为(400, 300)、半径为100的实心圆。
读者可以根据代码中的注释,尝试更改窗口大小、圆心坐标、半径大小、颜色等参数。读者还可以打开EasyX的帮助文档“EasyX_Help.chm”,学习使用相关的图形绘制函数。
提示 EasyX安装程序目前仅支持Visual Studio开发环境。如果读者计算机的存储空间不够安装Visual Studio,可以安装轻量级的“小龙Dev-C++”或者“小熊猫C++”开发环境,这两个开发环境也可以使用EasyX图形库。如果读者使用其他代码编辑器,也可以使用开源图形库EGE。使用EGE时,只需修改本书代码中的部分绘图语句。
若不设置绘图颜色,EasyX默认将图形绘制为白色。输入并运行2-1-2.cpp,可以实现白色小球连续下落的动画效果,扫描右侧二维码观看视频效果“2.1 小球下落动画”。
![](https://epubservercos.yuewen.com/D47AEE/30525066604009406/epubprivate/OEBPS/Images/tx027.jpg?sign=1738830078-NR9nr5gNbNptL2zSddpPYg70CNqgf63x-0-088964cec5693b69fa6d4c3964a88b60)
2.1 小球下落动画
2-1-2.cpp
1 #include <graphics.h> // EasyX头文件 2 #include <conio.h> 3 #include <stdio.h> 4 int main() 5 { 6 int y = 50; // 小球的y坐标 7 initgraph(800, 600); // 初始化一个800×600的窗口 8 while (1) // 一直循环 9 { 10 y = y + 1; // y坐标增加 11 cleardevice(); // 清空画面 12 fillcircle(400, y, 20); // 在(400,y)处绘制半径为20的圆 13 Sleep(10); // 暂停10毫秒 14 } 15 _getch(); 16 closegraph(); // 关闭图形窗口 17 return 0; 18 }
在2-1-2.cpp中,小球的初始y坐标为50;在while循环语句中,依次执行y坐标增加、清空画面、在新位置绘制圆、暂停10毫秒,如此重复执行,即实现了小球下落的动画效果,如图2-6所示。
![](https://epubservercos.yuewen.com/D47AEE/30525066604009406/epubprivate/OEBPS/Images/3.jpg?sign=1738830078-6ypaRDXDsUWTKkk7mzp3xUSWviRBCr4c-0-7f6da875893cdeff92bed47ef1e7a01e)
图2-6