前几天刚学了点东西,所以就乘热打铁编了个小游戏,希望大家多多指教,你只要可以走到下面的小人那里就可以了,可要快奥(不过我那个计时器根本没派上用处,只不过是看看而已的)
#define WIN if(x==60&&y==20) break; /*胜利条件*/ #define UP 0x4800 #define DOWN 0x5000 #define LEFT 0x4b00 #define RIGHT 0x4d00 #include "conio.h" #include "time.h" main() {int key,x,y,a,b,i,j,n=0; int t; clrscr(); textcolor(GREEN); /*图象初始化*/ gotoxy(22,1); cprintf("%c(UP) %c(DOWN) %c(LEFT) %c(RIGHT) ESC(QU99v)\n",24,25,27,26); textcolor(RED); for(i=20;i<=60;i++) { for(j=4;j<=18;j+=2) { gotoxy(i,j); cprintf("%c",219); } gotoxy(i,21); cprintf("%c",219); } for(i=4;i<=21;i++) { gotoxy(19,i); cprintf("%c",219); gotoxy(61,i); cprintf("%c",219); gotoxy(62,i); cprintf("%c",219); gotoxy(18,i); cprintf("%c",219); } textcolor(YELLOW); gotoxy(20,5); cprintf("\1"); textcolor(12); gotoxy(60,20); cprintf("\2"); gotoxy(20,5); x=20; y=5; textcolor(YELLOW); t=0; gotoxy(37,2); cprintf("TIME:"); /*图象初始化结束*/ for(;;) { for(;!kbhit();) /*计时器*/ { gotoxy(42,2); if(t%500==0) cprintf("%d",t/500); t++; delay(100); } /*计时器结束*/ ++n; a=x; b=y; key=bioskey(0); if(key==UP) /*判定按键*/ { if(y==5) continue; gotoxy(x,--y); WIN; } else if(key==DOWN) { if(y==20) continue; else if(y==5&&x!=60) continue; else if(y==7&&x!=50) continue; else if(y==9&&x!=40) continue; else if(y==11&&x!=30) continue; else if(y==13&&x!=20) continue; else if(y==15&&x!=25) continue; else if(y==17&&x!=55) continue; gotoxy(x,++y); WIN; } else if(key==LEFT) { if(x==20) continue; gotoxy(--x,y); WIN; } else if(key==RIGHT) { if(x==60) continue; gotoxy(++x,y); WIN; } else if(key==0x11b) exit(0); else continue; /*判定结束*/ cprintf("\1"); /*输出图形*/ gotoxy(a,b); printf(" "); gotoxy(x,y); sound(300); /*输出声音*/ delay(1000); nosound(); } clrscr(); /*输出结果*/ textcolor(12); gotoxy(40,10); cprintf("%c",2); textcolor(RED); gotoxy(22,11); cprintf("After %d days, I will be your wife. %c",n,3); getch(); }
|