美文网首页C语言
VS2012加第三方图形库easyx实现倒计时报数

VS2012加第三方图形库easyx实现倒计时报数

作者: 做人呢最要紧的就是开心 | 来源:发表于2019-10-17 13:59 被阅读0次

如果在C语言编译器里面没有安装第三方图像库, 是无法编译通过的, 如此请看我第一篇文章<基于C&C++推荐图形库easyX>, 介绍了安装配置方法

废话不多说, 直接上代码:

#include <graphics.h>

#include <conio.h>

#include <iostream>

using namespace std;

const int WIDTH = 640;

const int HEIGHT = 480;

void DrawLine(int a, int b, int c, int d);    //实现画一条线

typedef void(*DLine)(int, int, int, int);    //自定义函数指针

int length = 100;                            //定义画线长度

struct LinePosi                              //定义六个点

{

int point1_x, point1_y;

int point2_x, point2_y;

int point3_x, point3_y;

int point4_x, point4_y;

int point5_x, point5_y;

int point6_x, point6_y;

}LinePosi;

struct Line                                            //定义函数指针

{

DLine line1, line2, line3, line4, line5, line6, line7;

}Line;

void Init()                                          //初始化点的位置

{

LinePosi.point1_x = 210;

LinePosi.point1_y = 100;

LinePosi.point2_x = LinePosi.point1_x + length;

LinePosi.point2_y = LinePosi.point1_y;

LinePosi.point3_x = LinePosi.point1_x;

LinePosi.point3_y = LinePosi.point1_y + length;

LinePosi.point4_x = LinePosi.point2_x;

LinePosi.point4_y = LinePosi.point2_y + length;

LinePosi.point5_x = LinePosi.point3_x;

LinePosi.point5_y = LinePosi.point3_y + length;

LinePosi.point6_x = LinePosi.point4_x;

LinePosi.point6_y = LinePosi.point4_y + length;

Line.line1 = DrawLine;                                      //7个函数指针指向画线函数

Line.line2 = DrawLine;

Line.line3 = DrawLine;

Line.line4 = DrawLine;

Line.line5 = DrawLine;

Line.line6 = DrawLine;

Line.line7 = DrawLine;

initgraph(WIDTH, HEIGHT);

}

void Show()

{

int choose = 1;

while(choose != -1)

{

cin >> choose;                //接收一个数字,按enter后画出这个数字

switch(choose)

{

case 0:                      //画出0

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case 1:                    //画1

cleardevice();

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

break;

case 2:

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case 3:

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case 4:

cleardevice();

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case 5:

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case 6:

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case 7:

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case 8:

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case 9:

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

break;

case -1:                //按-1退出

choose = -1;

break;

}

}

}

void DrawLine(int a, int b, int c, int d)        //画线

{

setlinestyle(PS_SOLID, 10);

setlinecolor(RED);

line(a, b, c, d);

}

void CountDown()                                  //倒计时

{

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

Sleep(1000);                            //延迟1000毫秒, 也就是1秒

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

Sleep(1000);

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Sleep(1000);

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

Sleep(1000);

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

Sleep(1000);

cleardevice();

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Sleep(1000);

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

Sleep(1000);

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line4(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

Sleep(1000);

cleardevice();

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Sleep(1000);

cleardevice();

Line.line1(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point2_x, LinePosi.point2_y);

Line.line2(LinePosi.point1_x, LinePosi.point1_y, LinePosi.point3_x, LinePosi.point3_y);

Line.line3(LinePosi.point2_x, LinePosi.point2_y, LinePosi.point4_x, LinePosi.point4_y);

Line.line5(LinePosi.point3_x, LinePosi.point3_y, LinePosi.point5_x, LinePosi.point5_y);

Line.line6(LinePosi.point4_x, LinePosi.point4_y, LinePosi.point6_x, LinePosi.point6_y);

Line.line7(LinePosi.point5_x, LinePosi.point5_y, LinePosi.point6_x, LinePosi.point6_y);

// getch();

}

int main()

{

Init();

CountDown();

Show();

return 0;

}

/* 

 此函数运行之后从9开始一直倒数到0, 之后你按个1, 再按enter,会在屏幕画出1, 其他数字都是如此, 不过仅限于0-9

*/

运行结果如图,这里是截取了一张,:

代码原创, 切勿进行任何商业用途, 只限于学习交流 !

相关文章

网友评论

    本文标题:VS2012加第三方图形库easyx实现倒计时报数

    本文链接:https://www.haomeiwen.com/subject/kuimmctx.html