众所周知EasyX是一款在C++环境上运行的图形交互库,如果你觉得C\C++好无聊,你可以玩玩这个,官网也有下载链接,我这里有15年的版本,但是无法发链接,如果想要的可以在评论区留言或者私信我
在DevC++软件无法配置easyX库,我是在Microsoft Visual C++下运行的,把easyx.h等文件配置好后,就可以开始写第一个了
样例一、画一个圆(谁说只有python可以啊,咱们C++也可以)
#include<graphics.h>
#include<conio.h>
int main()
{
initgraph(666, 666); //初始化为666*666的画布
/* circle */
setcolor(YELLOW); //circle的线条为黄色
setfillcolor(RED); //circle内红色填充
setbkcolor(GREEN);
fillcircle(300, 300, 60); //circle center为(100,100)半径20
/* line */
// setlinecolor(RGB(200, 0, 0));
// line(0, 100, 640, 100);
// line(0, 150, 640, 150);
/* 九根平行线 */
// setlinecolor(RGB(200, 0, 0));
// for(int y = 0; y <= 480; y += 60)
// {
// line(0, y, 640, y);
// }
/* 渐变颜色 */
// for(int y = 0; y < 256; y++)
// {
// setcolor(RGB(0, 0, y));
// line(0, y, 640, y);
// }
// for(int y = 0; y <= 200; y += 5)
// {
// if(y / 5 % 2 == 1)
// setcolor(RGB(255, 0, 0));
// else
// setcolor(RGB(0, 0, 255));
// line(0, y, 640, y);
// }
getch(); //按任意键继续
closegraph(); //关闭图形界面
return 0;
}
运行效果如下:
样例二、画两条线
#include<graphics.h>
#include<conio.h>
int main()
{
initgraph(666, 666); //初始化为666*666的画布
/* circle */
// setcolor(YELLOW); //circle的线条为黄色
// setfillcolor(RED); //circle内红色填充
// setbkcolor(GREEN);
// fillcircle(300, 300, 60); //circle center为(100,100)半径20
/* line */
setlinecolor(RGB(200, 0, 0));
line(0, 100, 640, 100);
line(0, 150, 640, 150);
/* 九根平行线 */
// setlinecolor(RGB(200, 0, 0));
// for(int y = 0; y <= 480; y += 60)
// {
// line(0, y, 640, y);
// }
/* 渐变颜色 */
// for(int y = 0; y < 256; y++)
// {
// setcolor(RGB(0, 0, y));
// line(0, y, 640, y);
// }
// for(int y = 0; y <= 200; y += 5)
// {
// if(y / 5 % 2 == 1)
// setcolor(RGB(255, 0, 0));
// else
// setcolor(RGB(0, 0, 255));
// line(0, y, 640, y);
// }
getch(); //按任意键继续
closegraph(); //关闭图形界面
return 0;
}
效果如下:
按这个套路,依次把我下面注释的代码运行就会有
样例三、九条平行线
样例四、渐变颜色
变式1:全屏渐变色
#include<graphics.h>
#include<conio.h>
void main()
{
initgraph(640, 480);
int c;
for(int y = 0; y < 480; y++)
{
c = y * 255 / 479; //先算乘法再算除法可以提高精度
setcolor(RGB(0, 0, c));
line(0, y, 639, y);
}
getch();
closegraph();
}
变式2:渐变圆
#include<graphics.h>
#include<conio.h>
#include<math.h>
#define PI 3.14
void main()
{
initgraph(640, 480);
int c;
double a;
int x, y, r = 200;
for(a = 0; a < PI * 2; a += 0.0001)
{
x=(int)(r * cos(a) + 320 + 0.5);
y=(int)(r * sin(a) + 240 + 0.5);
c=(int)(a * 255 / (2 * PI) + 0.5);
setcolor(RGB(0, 255, c));
line(320, 240, x, y);
}
getch();
closegraph();
}
注: + 0.5是为了四舍五入更加接近
样例五、流行的土味男装颜色样式
也就是说学好编程你也可以称为服装style设计师,哈哈哈哈
常用的绘图语句
line(x1, y1, x2, y2); // 画直线 (x1,y1)-(x2,y2),都是整形
circle(x, y, r); // 画圆,圆心为(x,y),半径为r
putpixel(x, y, c); // 画点(x,y),颜色c
样例六、标准围棋棋盘19 * 19
#include<graphics.h>
#include<conio.h>
int main()
{
int step = 30;
initgraph(600, 600);
setbkcolor(YELLOW); //背景色黄色
cleardevice(); //用背景色清空屏幕
setlinestyle(PS_SOLID, 2); //画实线,宽度为两像素
setcolor(RGB(0, 0, 0)); //设为黑色
int i;
for(i = 1; i <= 19; i++)
{
line(i * step, 1 * step, i * step, 19 * step);
line(1 * step, i * step, 19 * step, i * step);
}
getch();
closegraph();
return 0;
}
效果如下:
关于五子棋游戏如何实现,请关注我的频道,下次我会写一篇关于这个的博文
样例七、国际象棋棋盘
#include<graphics.h>
#include<conio.h>
int main()
{
int step = 50;
initgraph(500, 500);
setbkcolor(YELLOW);
cleardevice();
int i, j;
for(i = 1; i <= 8; i++)
{
for(j = 1; j <= 8; j++)
{
if((i + j) % 2 == 1)
{
setfillcolor(BLACK);
solidrectangle(i * step, j * step, (i + 1) * step, (j + 1) * step);
}
else
{
setfillcolor(WHITE);
solidrectangle(i * step, j * step, (i + 1) * step, (j + 1) * step);
}
}
}
getch();
closegraph();
return 0;
}
效果如下: