當前位置:編程學習大全網 - 編程語言 - c語言 編寫俄羅斯方塊的程序 要求有詳細的中文註釋

c語言 編寫俄羅斯方塊的程序 要求有詳細的中文註釋

剛學c的時候編的,所以程序規範性以及代碼的執行效率都不高,而且程序超長。但應該沒有太難的語句。

#include<stdio.h>

#include<string.h>

#include<bios.h>

#include<stdlib.h>

#include<time.h>

#include<dos.h>

int dx[4],dy[4]; /*定義全局變量*/

int zt1,zt2,str[15][19];

/*str[15][19]是把整個屏幕分為15*19個方格,每壹個方格用壹個數組單元表示,

如果=15,則這個方格已被占用,=0,則還是空的*/

int cx[8][5][4],cy[8][5][4]; /*該變量表示每種狀態下,旋轉時坐標的改變*/

int x,y,j,ji,c;

int maxzt[8]={0,2,1,4,2,2,4,4}; /*各個種類的方塊分別有幾種狀態*/

cir() /*旋轉的處理函數*/

{ dx[0]=dx[0]+cx[zt1][zt2][0];dy[0]=dy[0]+cy[zt1][zt2][0];

dx[2]=dx[2]+cx[zt1][zt2][2];dy[2]=dy[2]+cy[zt1][zt2][2];

dx[3]=dx[3]+cx[zt1][zt2][3];dy[3]=dy[3]+cy[zt1][zt2][3];

}

jiance() /*檢測旋轉或移動能否進行的函數,能則j=1,不能j=0*/

{ j=1;

for(ji=0;ji<4;ji++)

{ x=dx[ji];y=dy[ji];

if(str[x][y]!=' ') j=0;

}

c=bioskey(1);

if(c!=0) c=bioskey(0);

}

main()

{ int dotx[4],doty[4],score; /*dotx[]doty[]表示壹個方塊個點的坐標*/

int ddx,ddy;

int rzt1,rzt2,i,u,t=1;

int a[5],b[11],o,p,an,bn;

int rotx[4],roty[4],spd=0;

begin: system("cls"); /*遊戲初始化階段*/

printf("londing...");

for(i=0;i<12;i++) /*變量初始階段*/

{ for(u=0;u<19;u++)

str[i][u]=' ';

}

for(i=0;i<12;i++)

{ str[i][0]='-';str[i][18]='-'; }

for(u=0;u<19;u++)

{ str[0][u]='|';str[11][u]='|'; }

cx[1][1][0]=1;cx[1][1][2]=-1;cx[1][1][3]=-2; /*對旋轉變量進行賦值*/

cy[1][1][0]=1;cy[1][1][2]=-1;cy[1][1][3]=-2;

cx[1][2][0]=-1;cx[1][2][2]=1;cx[1][2][3]=2;

cy[1][2][0]=-1;cy[1][2][2]=1;cy[1][2][3]=2;

cx[2][1][0]=0;cx[2][1][2]=0;cx[2][1][3]=0;

cy[2][1][0]=0;cy[2][1][2]=0;cy[2][1][3]=0;

cx[3][1][0]=1;cx[3][1][2]=-1;cx[3][1][3]=1;

cy[3][1][0]=-1;cy[3][1][2]=1;cy[3][1][3]=1;

cx[3][2][0]=1;cx[3][2][2]=-1;cx[3][2][3]=-1;

cy[3][2][0]=1;cy[3][2][2]=-1;cy[3][2][3]=1;

cx[3][3][0]=-1;cx[3][3][2]=1;cx[3][3][3]=-1;

cy[3][3][0]=1;cy[3][3][2]=-1;cy[3][3][3]=-1;

cx[3][4][0]=-1;cx[3][4][2]=1;cx[3][4][3]=1;

cy[3][4][0]=-1;cy[3][4][2]=1;cy[3][4][3]=-1;

cx[4][1][0]=-1;cx[4][1][2]=1;cx[4][1][3]=2;

cy[4][1][0]=1;cy[4][1][2]=1;cy[4][1][3]=0;

cx[4][2][0]=1;cx[4][2][2]=-1;cx[4][2][3]=-2;

cy[4][2][0]=-1;cy[4][2][2]=-1;cy[4][2][3]=0;

cx[5][1][0]=1;cx[5][1][2]=1;cx[5][1][3]=0;

cy[5][1][0]=-1;cy[5][1][2]=1;cy[5][1][3]=2;

cx[5][2][0]=-1;cx[5][2][2]=-1;cx[5][2][3]=0;

cy[5][2][0]=1;cy[5][2][2]=-1;cy[5][2][3]=-2;

cx[6][1][0]=1;cx[6][1][2]=-1;cx[6][1][3]=0;

cy[6][1][0]=-1;cy[6][1][2]=1;cy[6][1][3]=2;

cx[6][2][0]=1;cx[6][2][2]=-1;cx[6][2][3]=-2;

cy[6][2][0]=1;cy[6][2][2]=-1;cy[6][2][3]=0;

cx[6][3][0]=-1;cx[6][3][2]=1;cx[6][3][3]=0;

cy[6][3][0]=1;cy[6][3][2]=-1;cy[6][3][3]=-2;

cx[6][4][0]=-1;cx[6][4][2]=1;cx[6][4][3]=2;

cy[6][4][0]=-1;cy[6][4][2]=1;cy[6][4][3]=0;

cx[7][1][0]=-1;cx[7][1][2]=1;cx[7][1][3]=2;

cy[7][1][0]=1;cy[7][1][2]=-1;cy[7][1][3]=0;

cx[7][2][0]=-1;cx[7][2][2]=1;cx[7][2][3]=0;

cy[7][2][0]=-1;cy[7][2][2]=1;cy[7][2][3]=2;

cx[7][3][0]=1;cx[7][3][2]=-1;cx[7][3][3]=-2;

cy[7][3][0]=-1;cy[7][3][2]=1;cy[7][3][3]=0;

cx[7][4][0]=1;cx[7][4][2]=-1;cx[7][4][3]=0;

cy[7][4][0]=1;cy[7][4][2]=-1;cy[7][4][3]=-2;

srand(time(0)); /*對隨機數函數rand()進行初始化*/

zt1=rand()%7+1; /*生成第壹、二個方塊*/

if(zt1==2) zt2=1;

if(zt1==1||zt1==4||zt1==5) zt2=rand()%2+1;

if(zt1==3||zt1==6||zt1==7) zt2=rand()%4+1;

rzt1=rand()%7+1;

if(rzt1==2) rzt2=1;

if(rzt1==1||rzt1==4||rzt1==5) rzt2=rand()%2+1;

if(rzt1==3||rzt1==6||rzt1==7) rzt2=rand()%4+1;

score=0;

for(o=1;o<11;o++) b[o]=0;

switch(zt1*10+zt2)

/*zt1和zt2分別代表方塊的種類和狀態,這步是根據這兩個變量確定方塊的四個點的坐標*/

{ case 11: dotx[0]=4;dotx[1]=5;dotx[2]=6;dotx[3]=7;

doty[0]=2;doty[1]=2;doty[2]=2;doty[3]=2;

break;

case 12: dotx[0]=5;dotx[1]=5;dotx[2]=5;dotx[3]=5;

doty[0]=4;doty[1]=3;doty[2]=2;doty[3]=1;

break;

case 21: dotx[0]=5;dotx[1]=6;dotx[2]=5;dotx[3]=6;

doty[0]=1;doty[1]=1;doty[2]=2;doty[3]=2;

break;

case 31: dotx[0]=4;dotx[1]=5;dotx[2]=6;dotx[3]=5;

doty[0]=2;doty[1]=2;doty[2]=2;doty[3]=1;

break;

case 32: dotx[0]=5;dotx[1]=5;dotx[2]=5;dotx[3]=6;

doty[0]=1;doty[1]=2;doty[2]=3;doty[3]=2;

break;

case 33: dotx[0]=6;dotx[1]=5;dotx[2]=4;dotx[3]=5;

doty[0]=1;doty[1]=1;doty[2]=1;doty[3]=2;

break;

case 34: dotx[0]=6;dotx[1]=6;dotx[2]=6;dotx[3]=5;

doty[0]=3;doty[1]=2;doty[2]=1;doty[3]=2;

break;

case 41: dotx[0]=6;dotx[1]=5;dotx[2]=5;dotx[3]=4;

doty[0]=2;doty[1]=2;doty[2]=1;doty[3]=1;

break;

case 42: dotx[0]=5;dotx[1]=5;dotx[2]=6;dotx[3]=6;

doty[0]=3;doty[1]=2;doty[2]=2;doty[3]=1;

break;

case 51: dotx[0]=4;dotx[1]=5;dotx[2]=5;dotx[3]=6;

doty[0]=2;doty[1]=2;doty[2]=1;doty[3]=1;

break;

case 52: dotx[0]=5;dotx[1]=5;dotx[2]=6;dotx[3]=6;

doty[0]=1;doty[1]=2;doty[2]=2;doty[3]=3;

break;

case 61: dotx[0]=4;dotx[1]=5;dotx[2]=6;dotx[3]=6;

doty[0]=2;doty[1]=2;doty[2]=2;doty[3]=1;

break;

case 62: dotx[0]=5;dotx[1]=5;dotx[2]=5;dotx[3]=6;

doty[0]=1;doty[1]=2;doty[2]=3;doty[3]=3;

break;

case 63: dotx[0]=6;dotx[1]=5;dotx[2]=4;dotx[3]=4;

doty[0]=1;doty[1]=1;doty[2]=1;doty[3]=2;

break;

case 64: dotx[0]=6;dotx[1]=6;dotx[2]=6;dotx[3]=5;

doty[0]=3;doty[1]=2;doty[2]=1;doty[3]=1;

break;

case 71: dotx[0]=6;dotx[1]=5;dotx[2]=4;dotx[3]=4;

doty[0]=2;doty[1]=2;doty[2]=2;doty[3]=1;

break;

case 72: dotx[0]=5;dotx[1]=5;dotx[2]=5;dotx[3]=6;

doty[0]=3;doty[1]=2;doty[2]=1;doty[3]=1;

break;

case 73: dotx[0]=4;dotx[1]=5;dotx[2]=6;dotx[3]=6;

doty[0]=1;doty[1]=1;doty[2]=1;doty[3]=2;

break;

case 74: dotx[0]=6;dotx[1]=6;dotx[2]=6;dotx[3]=5;

doty[0]=1;doty[1]=2;doty[2]=3;doty[3]=3;

break;

}

switch(rzt1*10+rzt2) /*確定第二個方塊各個點的坐標*/

{ case 11: rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=7;

roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=2;

break;

case 12: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=5;

roty[0]=4;roty[1]=3;roty[2]=2;roty[3]=1;

break;

case 21: rotx[0]=5;rotx[1]=6;rotx[2]=5;rotx[3]=6;

roty[0]=1;roty[1]=1;roty[2]=2;roty[3]=2;

break;

case 31: rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=5;

roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1;

break;

case 32: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6;

roty[0]=1;roty[1]=2;roty[2]=3;roty[3]=2;

break;

case 33: rotx[0]=6;rotx[1]=5;rotx[2]=4;rotx[3]=5;

roty[0]=1;roty[1]=1;roty[2]=1;roty[3]=2;

break;

case 34: rotx[0]=6;rotx[1]=6;rotx[2]=6;rotx[3]=5;

roty[0]=3;roty[1]=2;roty[2]=1;roty[3]=2;

break;

case 41: rotx[0]=6;rotx[1]=5;rotx[2]=5;rotx[3]=4;

roty[0]=2;roty[1]=2;roty[2]=1;roty[3]=1;

break;

case 42: rotx[0]=5;rotx[1]=5;rotx[2]=6;rotx[3]=6;

roty[0]=3;roty[1]=2;roty[2]=2;roty[3]=1;

break;

case 51: rotx[0]=4;rotx[1]=5;rotx[2]=5;rotx[3]=6;

roty[0]=2;roty[1]=2;roty[2]=1;roty[3]=1;

break;

case 52: rotx[0]=5;rotx[1]=5;rotx[2]=6;rotx[3]=6;

roty[0]=1;roty[1]=2;roty[2]=2;roty[3]=3;

break;

case 61: rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=6;

roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1;

break;

case 62: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6;

roty[0]=1;roty[1]=2;roty[2]=3;roty[3]=3;

break;

case 63: rotx[0]=6;rotx[1]=5;rotx[2]=4;rotx[3]=4;

roty[0]=1;roty[1]=1;roty[2]=1;roty[3]=2;

break;

case 64: rotx[0]=6;rotx[1]=6;rotx[2]=6;rotx[3]=5;

roty[0]=3;roty[1]=2;roty[2]=1;roty[3]=1;

break;

case 71: rotx[0]=6;rotx[1]=5;rotx[2]=4;rotx[3]=4;

roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1;

break;

case 72: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6;

roty[0]=3;roty[1]=2;roty[2]=1;roty[3]=1;

break;

case 73: rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=6;

roty[0]=1;roty[1]=1;roty[2]=1;roty[3]=2;

break;

case 74: rotx[0]=6;rotx[1]=6;rotx[2]=6;rotx[3]=5;

roty[0]=1;roty[1]=2;roty[2]=3;roty[3]=3;

break;

}

system("cls"); /*顯示初始階段*/

printf("\n\n\n"); /*遊戲區域下移3*/

for(u=0;u<19;u++)

{ for(i=0;i<12;i++)

printf("%c",str[i][u]);

printf("\n");

}

gotoxy(16,5);printf("--------");

gotoxy(16,12);printf("--------");

for(i=6;i<12;i++)

{ gotoxy(16,i);printf("|");gotoxy(23,i);printf("|"); }

for(i=6;i<12;i++)

{ gotoxy(16,i);printf("|");gotoxy(23,i);printf("|"); }

for(i=0;i<4;i++)

{ gotoxy(rotx[i]+14,roty[i]+6);printf("%c",15);

}

begin2: delay(26000); /*遊戲開始,延遲1*/

speed: delay(10000); /*加速,延遲2*/

gotoxy(16,14);printf("Score:%d",score);

for(i=0;i<4;i++)

{ gotoxy(dotx[i]+1,doty[i]+4);printf(" ");

ddx=dotx[i];ddy=doty[i];

str[ddx][ddy]=' ';

}

an=an-0.4; /*表示按鍵是否壹直按著,用於方塊落地後的移動*/

c=bioskey(1); /*按鍵處理部分*/

/*bioskey(1)是用來檢測是否按下案件的函數*/

if(c!=0)

{ c=bioskey(0);

if(c==8292||c==19712)

{ for(i=0;i<4;i++)

{ dx[i]=dotx[i]+1;dy[i]=doty[i]; }

jiance();

for(i=0;i<4;i++)

dotx[i]=(j)? dx[i] : dotx[i];

an=(j||bn);

}

if(c==7777||c==19200)

{ for(i=0;i<4;i++)

{ dx[i]=dotx[i]-1;dy[i]=doty[i]; }

jiance();

for(i=0;i<4;i++)

dotx[i]=(j)? dx[i] : dotx[i];

an=(j||bn);

}

if(c==6512) /*暫停的處理*/

{ while(1)

{ c=bioskey(0);

if(c==6512) break;

}

goto begin3;

}

if(c==8051||c==20480) spd=1; /*加速(spd==1表示加速狀態)*/

if(c==4471||c==18432) /*旋轉的處理*/

{ for(i=0;i<4;i++)

{ dx[i]=dotx[i];dy[i]=doty[i]; }

/*dx[]與dy[]是臨時變量,這樣壹旦判斷為不能旋轉,就可方便的回復旋轉前的坐標*/

cir(); /*旋轉*/

jiance(); /*判斷旋轉是否能進行*/

for(i=0;i<4;i++)

{ dotx[i]=(j)? dx[i] : dotx[i]; doty[i]=(j)?dy[i] : doty[i]; }

/*根據jiance()得到的j值,判斷是對dotx[]與doty[]賦旋轉後的還是旋轉前的值*/

if(j==1) /*如果旋轉可已經行,就對原方塊的狀態進行改變*/

{ an=(j||bn);zt2=zt2+1;

if(zt2>maxzt[zt1]) zt2=1;

goto overif; /*結束旋轉的處理*/

}

for(i=0;i<4;i++)

{ dx[i]=dotx[i]+1;dy[i]=doty[i]; }

/*如果不能旋轉,再判斷坐標右移壹個後能否旋轉*/

cir();

jiance();

for(i=0;i<4;i++)

{ dotx[i]=(j)? dx[i] : dotx[i]; doty[i]=(j)?dy[i] : doty[i]; }

if(j==1)

{ an=(j||bn);zt2=zt2+1;

if(zt2>maxzt[zt1]) zt2=1;

goto overif;

}

if(dotx[2]==1) goto overif;

for(i=0;i<4;i++)

{ dx[i]=dotx[i]-1;dy[i]=doty[i]; }

/*判斷坐標左移壹個後能否旋轉*/

cir();

jiance();

for(i=0;i<4;i++)

{ dotx[i]=(j)? dx[i] : dotx[i]; doty[i]=(j)?dy[i] : doty[i]; }

if(j==1)

{ an=(j||bn);zt2=zt2+1;

if(zt2>maxzt[zt1]) zt2=1;

goto overif;

}

overif: ;

}

}

begin3: for(i=0;i<4;i++) /*方塊下移的處理*/

{ dx[i]=dotx[i];dy[i]=doty[i]+1; }

jiance();

bn=j;

for(i=0;i<4;i++)

doty[i]=(j)? dy[i] : doty[i];

for(i=0;i<4;i++)

{ gotoxy(dotx[i]+1,doty[i]+4);printf("%c",15);

ddx=dotx[i];ddy=doty[i];

str[ddx][ddy]=15;

}

if(j==1&&spd==1) { spd=0;goto speed; }

if(j==1||an>0) goto begin2;

for(u=17;u>0;u--) /*方塊停止下移(方塊移動到底了)的處理*/

{ for(i=1;i<11;i++) /*判斷每壹行是否排滿*/

if(str[i][u]==15) b[i]=1;

if (b[1]+b[2]+b[3]+b[4]+b[5]+b[6]+b[7]+b[8]+b[9]+b[10]<10)

{ for(o=1;o<11;o++) b[o]=0;

continue;

}

for(o=1;o<11;o++) b[o]=0;

a[t]=u;t++;

}

score+=(t)*(t-1)/2;

for(i=1;i<11;i++)

if(str[i][1]==15) b[i]=1;

if (b[1]+b[2]+b[3]+b[4]+b[5]+b[6]+b[7]+b[8]+b[9]+b[10]>0 &&t==1) goto over;

for(o=1;o<11;o++) b[o]=0;

if(t==1) goto ran;

switch(t) /*消除方塊的處理,t=要消除的函數+1*/

{ case 5: for(u=a[4];u>1;u--) { for(i=1;i<11;i++) str[i][u]=str[i][u-1]; }

/*將要消除的行中,最上面壹行,上面的方格整體下移,下面的case 4,3,2類似*/

case 4: for(u=a[3];u>1;u--) { for(i=1;i<11;i++) str[i][u]=str[i][u-1]; }

case 3: for(u=a[2];u>1;u--) { for(i=1;i<11;i++) str[i][u]=str[i][u-1]; }

case 2: for(u=a[1];u>1;u--) { for(i=1;i<11;i++) str[i][u]=str[i][u-1]; }

}

t=1;

for(u=1;u<18;u++)

{ for(i=1;i<11;i++)

{ gotoxy(i+1,u+4);

printf("%c",str[i][u]);

}

}

ran: zt1=rzt1;zt2=rzt2;rzt1=rand()%7+1; /*生成下兩個方塊*/

if(rzt1==2) rzt2=1;

if(rzt1==1||rzt1==4||rzt1==5) rzt2=rand()%2+1;

if(rzt1==3||rzt1==6||rzt1==7) rzt2=rand()%4+1;

for(i=0;i<4;i++)

{ dotx[i]=rotx[i];doty[i]=roty[i];

gotoxy(dotx[i]+1,doty[i]+4);printf("%c",15);

}

switch(rzt1*10+rzt2)

{ case 11: rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=7;

roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=2;

break;

case 12: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=5;

roty[0]=4;roty[1]=3;roty[2]=2;roty[3]=1;

break;

case 21: rotx[0]=5;rotx[1]=6;rotx[2]=5;rotx[3]=6;

roty[0]=1;roty[1]=1;roty[2]=2;roty[3]=2;

break;

case 31: rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=5;

roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1;

break;

case 32: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6;

roty[0]=1;roty[1]=2;roty[2]=3;roty[3]=2;

break;

case 33: rotx[0]=6;rotx[1]=5;rotx[2]=4;rotx[3]=5;

roty[0]=1;roty[1]=1;roty[2]=1;roty[3]=2;

break;

case 34: rotx[0]=6;rotx[1]=6;rotx[2]=6;rotx[3]=5;

roty[0]=3;roty[1]=2;roty[2]=1;roty[3]=2;

break;

case 41: rotx[0]=6;rotx[1]=5;rotx[2]=5;rotx[3]=4;

roty[0]=2;roty[1]=2;roty[2]=1;roty[3]=1;

break;

case 42: rotx[0]=5;rotx[1]=5;rotx[2]=6;rotx[3]=6;

roty[0]=3;roty[1]=2;roty[2]=2;roty[3]=1;

break;

case 51: rotx[0]=4;rotx[1]=5;rotx[2]=5;rotx[3]=6;

roty[0]=2;roty[1]=2;roty[2]=1;roty[3]=1;

break;

case 52: rotx[0]=5;rotx[1]=5;rotx[2]=6;rotx[3]=6;

roty[0]=1;roty[1]=2;roty[2]=2;roty[3]=3;

break;

case 61: rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=6;

roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1;

break;

case 62: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6;

roty[0]=1;roty[1]=2;roty[2]=3;roty[3]=3;

break;

case 63: rotx[0]=6;rotx[1]=5;rotx[2]=4;rotx[3]=4;

roty[0]=1;roty[1]=1;roty[2]=1;roty[3]=2;

break;

case 64: rotx[0]=6;rotx[1]=6;rotx[2]=6;rotx[3]=5;

roty[0]=3;roty[1]=2;roty[2]=1;roty[3]=1;

break;

case 71: rotx[0]=6;rotx[1]=5;rotx[2]=4;rotx[3]=4;

roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1;

break;

case 72: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6;

roty[0]=3;roty[1]=2;roty[2]=1;roty[3]=1;

break;

case 73: rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=6;

roty[0]=1;roty[1]=1;roty[2]=1;roty[3]=2;

break;

case 74: rotx[0]=6;rotx[1]=6;rotx[2]=6;rotx[3]=5;

roty[0]=1;roty[1]=2;roty[2]=3;roty[3]=3;

break;

}

for(i=6;i<12;i++) /*刷新壹下用來顯示下壹個方塊的那個區域*/

{ gotoxy(16,i);printf("|");gotoxy(23,i);printf("|"); }

for(i=6;i<12;i++)

for(u=17;u<23;u++) { gotoxy(u,i);printf("%c",32); }

for(i=0;i<4;i++)

{ gotoxy(rotx[i]+14,roty[i]+6);printf("%c",15); }

c=bioskey(1);an=0;

if(c!=0) c=bioskey(0);

if(spd==1) { spd=0;goto speed; }

goto begin2;

over: system("cls");

gotoxy(36,11);printf("GAME OVER");

bioskey(0);

system("cls");

printf("Your score is %d\n\n",score);

printf("Press 'Q' to exit\nIf you want to play again,please press other keys.");

score=0;

c=bioskey(0);

if(c!=4209) goto begin;

}

  • 上一篇:Empress數據庫的優勢
  • 下一篇:鐳射切割機的常見故障和處理方法都有什麽
  • copyright 2024編程學習大全網