📄 jk.cpp
字号:
#include"dos.h"
#include"conio.h"
#include"process.h"
#include"stdio.h"
#include"graphics.h"
#include"fcntl.h"
#include"stdlib.h"
#define LEFT 75
#define RIGHT 77
#define TRUE 1
#define FALSE 0
#define ESC 27
#define ENTER 13
char *str[]={"Start1","Start2","Start12"," Exit","Pause1","Pause2",
"Pause12"};
//Initgra
void InitGra()
{
int GraphDriver,GraphMode;
GraphDriver=VGA;//DETECT;
GraphMode=VGAHI;
// registerbgidriver(EGAVGA_driver);
initgraph(&GraphDriver,&GraphMode,"");
}
//Quit
void Quit()
{
closegraph();
exit(0);
}
void select(int a)
{
int b;
if(a>4)
{b=a-5;}
else b=a-1;
setfillstyle(1,7);
setcolor(RED);
{
for(int p=0;p<4;p++)
bar(126+100*p,297,208+100*p,333);
}
setfillstyle(1,LIGHTBLUE);
for(int p=0;p<4;p++)
{
bar(129+100*p,300,205+100*p,330);
if(p==b)continue;
outtextxy(145+100*p,312,str[p]);
}
setfillstyle(1,YELLOW);
bar(129+100*b,300,205+100*b,330);
outtextxy(145+100*b,312,str[a-1]);
}
void display(int a,int b)
{
a=a-1;
b=b-1;
setfillstyle(1,0);
for(int i=0;i<7;i++)
{
if(i==a)continue;
bar(162+60*i,102,198+60*i,138);
}
{
for(int i=0;i<7;i++)
{
if(i==b)continue;
bar(162+60*i,202,198+60*i,238);
}
}
if(a==-1&&b==-1)return;
if(a==-1);
else
{
setfillstyle(1,RED);
bar(162+60*a,102,198+60*a,138);
}
if(b==-1);
else
{
setfillstyle(1,RED);
bar(162+60*b,202,198+60*b,238);
}
}
void ShowMenu()
{
setbkcolor(0);
char *info=" WELCOME TO USE OUR CONTROL SYSTEM!";
char *step[]={"step1","step2","step3","step4","step5","step6","step7"};
setwritemode(COPY_PUT);
setcolor(14);
rectangle(50,50,590,430);
setcolor(GREEN);
outtextxy(80,30,info);
for(int i=0;i<2;i++)
for(int j=0;j<7;j++)
rectangle(160+60*j,100+100*i,200+60*j,140+100*i);
setcolor(13);
for(int k=0;k<7;k++)
outtextxy(160+60*k,70,step[k]);
outtextxy(60,120,"Machine One");
outtextxy(60,215,"Machine two");
setfillstyle(1,7);
setcolor(RED);
{
for(int p=0;p<4;p++)
bar(126+100*p,297,208+100*p,333);
}
setfillstyle(1,LIGHTBLUE);
for(int p=1;p<4;p++)
{
bar(129+100*p,300,205+100*p,330);
outtextxy(145+100*p,312,str[p]);
}
setfillstyle(1,YELLOW);
bar(129,300,205,330);
outtextxy(145,312,str[0]);
}
void delay1(int a)
{
delay(500*a);
}
void pause(int a)
{
if(kbhit())
{
if(getch()==ENTER)
{
select(a-4);
while(1)
{
if(getch()==ENTER)
{
select(a);
break;
}
}
}
}
}
void fun1()
{
outportb(0x218,0xfe);
display(1,0);
delay1(3);
pause(5);
outportb(0x218,0xfd);
display(2,0);
delay1(9);
pause(5);
outportb(0x218,0xfb);
display(3,0);
delay1(4);
pause(5);
outportb(0x218,0xf7);
display(4,0);
delay1(10);
pause(5);
outportb(0x218,0xef);
display(5,0);
delay1(1);
pause(5);
outportb(0x218,0xdf);
display(6,0);
delay1(7);
pause(5);
outportb(0x218,0xff);
display(7,0);
delay1(2);
display(0,0);
select(1);
}
void fun2()
{
outportb(0x219,0xfe);
display(0,1);
delay1(4);
pause(6);
outportb(0x219,0xfd);
display(0,2);
delay1(10);
pause(6);
outportb(0x219,0xfb);
display(0,3);
delay1(4);
pause(6);
outportb(0x219,0xf7);
display(0,4);
delay1(12);
pause(6);
outportb(0x219,0xef);
display(0,5);
delay1(3);
pause(6);
outportb(0x219,0xdf);
display(0,6);
delay1(7);
pause(6);
outportb(0x219,0xff);
display(0,7);
delay1(2);
display(0,0);
select(2);
}
void fun3()
{
enable();
outportb(0x218,0xfe);
outportb(0x219,0xfe);
display(1,1);
delay1(3);
pause(7);
outportb(0x218,0xfd);
outportb(0x219,0xfe);
display(2,1);
delay1(1);
pause(7);
outportb(0x218,0xfd);
outportb(0x219,0xfd);
display(2,2);
delay1(8);
pause(7);
outportb(0x218,0xfb);
outportb(0x219,0xfd);
display(3,2);
delay1(2);
pause(7);
outportb(0x218,0xfb);
outportb(0x219,0xfb);
display(3,3);
delay1(2);
pause(7);
outportb(0x218,0xf7);
outportb(0x219,0xfb);
display(4,3);
delay1(2);
pause(7);
outportb(0x218,0xf7);
outportb(0x219,0xf7);
display(4,4);
delay1(8);
pause(7);
outportb(0x218,0xef);
outportb(0x219,0xf7);
display(5,4);
delay1(2);
pause(7);
outportb(0x218,0xdf);
outportb(0x219,0xf7);
display(6,4);
delay1(2);
pause(7);
outportb(0x218,0xdf);
outportb(0x219,0xef);
display(6,5);
delay1(3);
pause(7);
outportb(0x218,0xdf);
outportb(0x219,0xdf);
display(6,6);
delay1(2);
pause(7);
outportb(0x218,0xff);
outportb(0x219,0xdf);
display(7,6);
delay1(2);
display(0,6);
delay1(3);
pause(7);
outportb(0x218,0xff);
outportb(0x219,0xff);
display(0,7);
delay1(2);
display(0,0);
select(3);
}
void dofun(int s)
{
switch(s)
{
case 1:select(5);fun1();break;
case 2:select(6);fun2();break;
case 3:select(7);fun3();break;
case 4:Quit();
default:return;
}
}
void main()
{
char c;
int s=1;
int q=1;
InitGra();
setcolor(7);
ShowMenu();
outportb(0x21B,0x80);
outportb(0x218,0xff);
outportb(0x219,0xff);
while(q)
{
if((c=getch())==RIGHT)
{
if(s==4)s=0;
select(++s);
}
else if(c==LEFT)
{
if(s==1)s=5;
select(--s);
}
else if(c==ENTER)
{
dofun(s);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -