许多学编程的都是从 C 语言开始入门的,而目前的现状是:编程
有些学校以 Turbo C 为环境讲 C 语言,只是 Turbo C 的环境实在太老了,复制粘贴都很不方便。函数
有些学校直接拿 VC 来说 C 语言,由于 VC 的编辑和调试环境都很优秀,而且 VC 有适合教学的免费版本。惋惜在 VC 下只能作一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用 TC,非常无奈。学习
还有计算机图形学,这门课程的重点是绘图算法,而不是 Windows 编程。因此,许多老师不得不用 TC 教学,由于 Windows 绘图太复杂了,会偏离教学的重点。新的图形学的书有很多是用的 OpenGL,但是门槛依然很高。调试
因此,咱们想给你们一个更好的学习平台,就是 VC 方便的开发平台和 TC 简单的绘图功能,因而就有了这个 EasyX 库。若是您刚开始学 C 语言,或者您是一位教 C 语言的老师,再或者您在教计算机图形学,那么这个库必定会让您兴奋的。code
// 编译环境:Visual C++ 6.0,EasyX 2018春分版 // http://www.easyx.cn // #include <graphics.h> #include <time.h> #include <conio.h> #define MAXSTAR 200 // 星星总数 struct STAR { double x; int y; double step; int color; }; STAR star[MAXSTAR]; // 初始化星星 void InitStar(int i) { star[i].x = 0; star[i].y = rand() % 480; star[i].step = (rand() % 5000) / 1000.0 + 1; star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5); // 速度越快,颜色越亮 star[i].color = RGB(star[i].color, star[i].color, star[i].color); } // 移动星星 void MoveStar(int i) { // 擦掉原来的星星 putpixel((int)star[i].x, star[i].y, 0); // 计算新位置 star[i].x += star[i].step; if (star[i].x > 640) InitStar(i); // 画新星星 putpixel((int)star[i].x, star[i].y, star[i].color); } // 主函数 int main() { srand((unsigned)time(NULL)); // 随机种子 initgraph(640, 480); // 建立绘图窗口 // 初始化全部星星 for(int i = 0; i < MAXSTAR; i++) { InitStar(i); star[i].x = rand() % 640; } // 绘制星空,按任意键退出 while(!kbhit()) { for(int i = 0; i < MAXSTAR; i++) MoveStar(i); Sleep(20); } closegraph(); // 关闭绘图窗口 }