#include#include#include#include#include#definex1 (a-120)/20#definey1 (b-40)/20#define UP 72#define DOWN 80#define LEFT 75#define RIGHT 77#define ENTER 13#define ESC 27int d[21][21]={0};int a=120,b=40;void init(){int gd=DETECT,gm;initgraph(&gd,&gm,"d:\\tc20");}void drawlist(){int i,j;setbkcolor(BLACK); setcolor(RED);for(i=0,j=0;i=120&&b>=40;){ switch(getch()){caseUP : {
if(b==40);
else if(d[(b-40)/20-1][(a-120)/20]==0)
{clearold(a,b);gotoxy(a,b=b-20);drawnew(a,b);}
else;
break;}case DOWN:{
if(b==440);
else
if(d[(b-40)/20+1][(a-120)/20]==0){clearold(a,b);gotoxy(a,b=b+20);drawnew(a,b);}else;break;} case RIGHT : {
if(b==520);
else
if(d[(b-40)/20][(a-120)/20+1]==0){clearold(a,b);gotoxy(a=a+20,b);drawnew(a,b);}else; break; } case LEFT : {
if(b==120);
else
if(d[(b-40)/20][(a-120)/20-1]==0){clearold(a,b);gotoxy(a=a-20,b);drawnew(a,b);}else; break;} case ESC : exit();break; default : break; if(a==500&&b==420)break; }/*switch finish*/ }/*for finish*/ }/*while finish*/ }void main(){init();drawlist();filllist(); drawfirst(); getway(); getch(); closegraph(); } |