这是2001年的时候写的东西了 那时候利用TurboC++3.0写了一个翻牌游戏..... #include<dos.h> #include<stdlib.h> #include<conio.h> ///define keyboard control #define up 72 #define down 80 #define left 75 #define right 77 #define space 32 #define ESC 27 /if open/// #define open 12 //array to save card// int chart[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; int lmt[]={0,0,0,0,0,0,0,0,0,0,0,0}; /game contorl function// void install(int,int); void mapping(int); ///MUSIC// void select_music(int); void move_sound(); void bird(); void worm(); void laser(); void motor(); void stream(); void error_sound(); void right_sound(); /LOGO/ void logo_WELCOME(); void logo_BYE(); MENU/// void menu(); /key board contorl int intkey(); /key borad contorl function/ int intkey() { _AH=0x06; _DL=0xff; asm int 0x21 return _AL; } MUSIC FUNCTION// void error_sound() { for(int i=0;i<5;i++) { sound(120+300*i); delay(10); } nosound(); } void right_sound() { for(int i=0;i<5;i++) { sound(1120+100*i); delay(10); } nosound(); } void move_sound() { sound(959); delay(75); nosound(); } void bird() { int i,j; for(i=0;i<6;i++) { j=9123; while(j>2700) { sound(j); delay(rand()/800); nosound(); j-=1106; } for(j=0;j<rand()/10;j++) delay(1); } } void worm() { int t,i,j,k; for(t=0;t<7;t++) { for(i=0;i<3;i++) { k=12; for(j=10000;j>4000;j-=6630) { sound(j+k);delay(80); sound(j+1000);delay(40); sound(4000);delay(10); } sound(32767);delay(rand()/3100);nosound; } } } void laser() { int i,j,k; for(i=0;i<60;i++) { k=1270; for(j=20000;j<300;j-=(358+i)) { sound(j+k);delay(50); k-=10*i; } sound(2147);delay(10);nosound(); } sound(50);delay(40);nosound(); } void motor() { int t,i,j,k; for(t=0;t<3;t++) { k=13; for(i=0;i<20;i++) { for(j=1;j<rand()/2007;j+=2) { sound(k);delay(15); k+=2; } sound(rand()/1200);delay(5); sound(12);delay(4);nosound(); } } } void stream() { int i,j; for(i=0;i<25;i++) { j=11; sound(1190);delay(4); while(j<978-rand()/870) { sound(j);delay(10); j=j+j*(rand()/8192)-j*rand()/22000; sound(4021);delay(13+rand()/18002); } sound(j);delay(rand()/4125+3); } nosound(); } void select_music(int choice) { switch(choice) { case 1: bird(); break; case 2: worm(); break; case 3: laser(); break; case 4: motor(); break; case 5: stream(); break; } } /LOGO FUNCTION// void logo_WELCOME() { int i,j; char WELCOME[5][52]= { {'Û',' ','Û','Û','Û',' ','Û',' ','Û','Û','Û','Û','Û','Û',' ','Û','Û',' ',' ',' ',' ',' ','Û','Û','Û','Û','Û','Û','Û',' ','Û','Û','Û','Û','Û','Û','Û',' ','Û','Û','Û',' ','Û','Û','Û',' ','Û','Û','Û','Û','Û','Û'}, {'Û',' ','Û','Û','Û',' ','Û',' ','Û','Û',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ','Û','Û',' ','Û',' ','Û','Û','Û',' ','Û',' ','Û','Û',' ',' ',' ',' '}, {'Û',' ','Û','Û','Û',' ','Û',' ','Û','Û','Û','Û','Û','Û',' ','Û','Û',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ','Û','Û',' ','Û',' ','Û','Û','Û',' ','Û',' ','Û','Û','Û','Û','Û','Û'}, {'Û',' ','Û','Û','Û',' ','Û',' ','Û','Û',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ','Û','Û',' ','Û',' ','Û','Û','Û',' ','Û',' ','Û','Û',' ',' ',' ',' '}, {'Û','Û','Û',' ','Û','Û','Û',' ','Û','Û','Û','Û','Û','Û',' ','Û','Û','Û','Û','Û','Û',' ','Û','Û','Û','Û','Û','Û','Û',' ','Û','Û','Û','Û','Û','Û','Û',' ','Û',' ','Û','Û','Û',' ','Û',' ','Û','Û','Û','Û','Û','Û'}, }; textbackground(1); textcolor(15); for(i=0;i<5;i++) { gotoxy(15,4+i); for(j=0;j<52;j++) cprintf("%c",WELCOME[i][j]); } textbackground(0); } void logo_BYE() { clrscr(); int i,j; char bye[5][22]= { {'Û','Û','Û','Û','Û',' ',' ','Û','Û',' ',' ',' ',' ','Û','Û',' ','Û','Û','Û','Û','Û','Û'}, {'Û','Û',' ',' ','Û','Û',' ',' ','Û','Û',' ',' ','Û','Û',' ',' ','Û','Û',' ',' ',' ',' '}, {'Û','Û','Û','Û',' ',' ',' ',' ',' ','Û','Û','Û','Û',' ',' ',' ','Û','Û','Û','Û','Û','Û'}, {'Û','Û',' ',' ','Û','Û',' ',' ',' ',' ','Û','Û',' ',' ',' ',' ','Û','Û',' ',' ',' ',' '}, {'Û','Û','Û','Û','Û',' ',' ',' ',' ',' ','Û','Û',' ',' ',' ',' ','Û','Û','Û','Û','Û','Û'}, }; textbackground(1); textcolor(14+128); for(i=0;i<5;i++) { gotoxy(17,10+i); for(j=0;j<22;j++) cprintf("%c",bye[i][j]); } for(i=0;i<5;i++) { gotoxy(47,10+i); for(j=0;j<22;j++) cprintf("%c",bye[i][j]); } gotoxy(30,17); textcolor(5); cprintf("Programming by Cloud..."); select_music(5); exit(0); } MENU FUNCTION void menu() { clrscr(); int now=1,key,start; logo_WELCOME(); select_music(3); textcolor(10); gotoxy(18,11); cprintf("**********************************************"); gotoxy(18,13); if(now==1) textcolor(5+128); cprintf(" PLAY GAME"); gotoxy(18,15); textcolor(10); cprintf(" EXIT"); gotoxy(16,17); cprintf("(Please choice PLAY GAME or EXIT then press space)"); gotoxy(18,19); cprintf("**********************************************"); while(key!=ESC) { key=intkey(); switch(key) { case up: case left: move_sound(); now=1; gotoxy(18,15); textcolor(10); cprintf(" EXIT"); gotoxy(18,13); textcolor(5+128); cprintf(" PLAY GAME"); break; case down: case right: case ESC: move_sound(); now=2; gotoxy(18,13); textcolor(10); cprintf(" PLAY GAME"); gotoxy(18,15); textcolor(5+128); cprintf(" EXIT"); break; case space: select_music(1); if(now==1) { start=1; break; } if(now==2) logo_BYE(); } if(start==1) break; } } game control function// void install(int max,int rnd) { clrscr(); textbackground(1); textcolor(15); int i,j; gotoxy(22,7); cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿"); for(i=0;i<max/4;i++) { gotoxy(22,8+i); cprintf("³ ß ß ß ß ³"); } gotoxy(22,8+max/4); cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"); gotoxy(45,7); cprintf("ÚÄHELPÄÄÄÄÄÄÄÄÄÄÄ¿"); gotoxy(45,8); cprintf("³ You can use: ³"); gotoxy(45,9); cprintf("³ up,down,left ³"); gotoxy(45,10); cprintf("³ and right to ³"); gotoxy(45,11); cprintf("³ move sign ³"); gotoxy(45,12); cprintf("³ space: choice ³"); gotoxy(45,13); cprintf("³ ESC: EXIT ³"); gotoxy(45,14); cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"); //select_music(4); randomize(); for(i=0;i<24;i++) chart[i]=0; for(i=0;i<12;i++) lmt[i]=0; for(i=0;i<max;i++) { j=random(rnd); if(lmt[j]<2) { lmt[j]++; chart[i]=j; } else { i--; } } } ///print picture void mapping(int pa) { textcolor(14); switch(pa) { case 0: cprintf("");break; case 1: cprintf("");break; case 2: cprintf("@");break; case 3: cprintf("%");break; case 4: cprintf("í");break; case 5: cprintf("");break; case 6: cprintf("");break; case 7: cprintf("");break; case 8: cprintf("+");break; case 9: cprintf("#");break; case 10:cprintf("$");break; case 11:cprintf("ä");break; } textcolor(15); } Main// void main() { menu(); int now=0,move,_now; int nx,ny; int x1,y1; int previous,count=12; int couple=0; int score=0; int stage,max,rnd; int sw; int i; //gotoxy(nx,ny); for(stage=1,max=16,rnd=8,i=0;stage<=3;stage++,max+=4,rnd+=2,i+=5) { clrscr(); gotoxy(38,10); textcolor(10+128); cprintf("STAGE %d",stage); select_music(4); install(max,rnd); nx=26;ny=8; gotoxy(nx,ny); now=0; sw=0; //delay(2000); count+=i; do { move=intkey(); switch(move) { case up: move_sound(); if(now<4)break; else { ny--; gotoxy(nx,ny); now-=4; break; } case down: move_sound(); if(now>max-5)break; else { ny++; gotoxy(nx,ny); now+=4; break; } case left: move_sound(); if(now%4==0)break; else { nx-=3; gotoxy(nx,ny); now-=1; break; } case right: move_sound(); if(now%4==3)break; else { nx+=3; gotoxy(nx,ny); now+=1; break; } case space: if(chart[now]==open) { error_sound(); break; } else { gotoxy(nx,ny); mapping(chart[now]); if(sw==0) { sw=1; previous=chart[now]; _now=now; x1=nx;y1=ny; chart[now]=open; } else { if(chart[now]==previous) { right_sound(); chart[now]=open; score+=(count-3)*10+rand()%30; couple++; } else { error_sound(); gotoxy(nx,ny); delay(1800); chart[_now]=previous; gotoxy(x1,y1); cprintf("ß"); gotoxy(nx,ny); cprintf("ß"); count--; gotoxy(nx,ny); } sw=0; } } gotoxy(24,15); cprintf("count : %2d",count); gotoxy(24,16); cprintf("score : %3d",score); break; case ESC: //exit(0); logo_BYE(); } gotoxy(nx,ny); }while((couple<rnd&&count>0)); if(couple!=rnd) { gotoxy(35,10); textcolor(11+128); cprintf(" GAME OVER "); delay(1800); logo_BYE(); } if(stage==3&&couple==rnd) { gotoxy(33,10); textcolor(11+128); cprintf(" CONGRATULATINO FOR YOU!!! "); delay(1800); logo_BYE(); } couple=0; count=10; select_music(2); } } 代码及执行档下载