Microsoft visual Studio 2015 下的俄罗斯方块源程序以及修改过程


项目名称:俄罗斯方块

项目语言:C++

项目软件: Microsoft visual Studio 2015 

错误1

错误提要:错误使用标识符

错误定位:

clrscr() 

错误提示:

未定义标识符“clrscr”

  • 解决方案一:
  • 将clrscr();替换成 system("cls");  再加#include头文件
  • 错误原因:
  • 1.clrscr()是在头文件conio.h下的函数,原型是void clrscr(void)
  • 2.在VC平台下,显然是不能使用控制台语句conio的,而在TC平台则可以

错误2

错误提要:

错误定位: 

kbhit()

gech()

错误提示:


解决方案:

kbhit()    改为   _kbhit()

gech()   改为   _gech()

可运行源码:

  • #include
  • #include
  • #include
  • #include
  • using namespace std;
  • int z=1,a,b=1,c;
  • const int kd=12;
  • const int zkd=18;
  • const int gd=21;
  • const int xfk=10;
  • int fs=0,dj=1,lsfs=0; //统计分数的变量
  • int dx1,dx2,dx3,dx4,dy1,dy2,dy3,dy4;  //打方块坐标
  • int xdx1=5+xfk,xdx2=4+xfk,xdx3=5+xfk,xdx4=4+xfk,xdy1=1,xdy2=1,xdy3=2,xdy4=2; //小方块坐标
  • int map[zkd][gd];  //一个二维数组来决定整个画面


  • int sjs (int); //返回一个随机数大小由参数决定
  • void csxz (int); //创建一个新的大方块
  • void csxzx (int);//创建一个新的小方块
  • void csh(); //游戏的轮廓
  • void cout_map(); //输出map
  • void xz (int,int); //改变当前方块的形态
  • void zytjzs (int); //左右控制方块
  • void zytj (int,int,int); //左右控制方块
  • void xtjzs (); //下移方块
  • int xtj (int,int); //下移方块
  • int jstj (); //结束条件
  • void dfpl (int,int); //消除后的排序
  • void dftj (); //消除
  • int main (){
  • srand((unsigned)time(NULL));
  • int lsx=0,lsxy=60,lsy=lsxy; //快速下降时用到的变量
  • char k='\0';
  • csh();
  • c=sjs(6); //取一个随机数
  • a=sjs(6);//取一个随机数
  • csxz (a);//通过随机数创建一个大方块
  • csxzx (c);//通过随机数创建一个小方块
  • while (z==1){
  • for (long i=0;i<6000000;i++);
  • if (kbhit()){
  • k=getch();
  • }
  • if (k=='5'){
  • b++;
  • if (b>4)b=1;
  • xz (a,b); //改变方块的形态  a是当前方块 b是当前的四个形态
  • }
  • if (k=='4'){
  • zytj (a,b,4); //向左控制
  • }
  • if (k=='6'){
  • zytj (a,b,6);//向右控制
  • }
  • if (k=='8'){lsy=2;}
  • lsx++;
  • if (lsx>lsy){
  • if (xtj (a,b)==0){
  • dftj ();
  • if (jstj ()==1){
  • z=0;
  • }else{
  • lsy=lsxy;
  • a=c;
  • c=sjs(6);
  • b=1;
  • csxz (a);
  • csxzx (c);
  • }
  • }
  • lsx=0;
  • }
  • if (lsfs==5){
  • dj++;
  • if (lsxy>3)lsxy--;
  • lsfs=0;
  • }
  • k='\0';
  • clrscr();
  • cout_map();
  • }
  • cout<<"游戏结束!";
  • return 0;
  • }
  • void csh(){
  • for (int y=0;y
  • for (int x=0;x
  • }
  • for (int x=0;x
  • for (int y=0;y
  • for (int x=12;x
  • map[0][0]=0;map[kd-1][0]=0;map[0][gd-1]=0;map[kd-1][gd-1]=0;map[zkd-1][gd-1]=0;map[zkd-1][0]=0;
  • map[kd+1][18]=5;map[kd][18]=4;
  • map[kd+2][18]=12;
  • map[kd+4][18]=7;map[kd+3][18]=6;

  • map[kd+1][16]=9;map[kd][16]=8;
  • map[kd+2][16]=12;
  • map[kd+4][16]=11;map[kd+3][16]=10;
  • }
  • void cout_map(){
  • for (int y=0;y
  • for (int x=0;x
  • if (map[x][y]==0)cout<<"  ";
  • if (map[x][y]==1)cout<<"一";
  • if (map[x][y]==2)cout<<"丨";
  • if (map[x][y]==3)cout<<"口";
  • if (map[x][y]==4)cout<<"分";
  • if (map[x][y]==5)cout<<"数";
  • if (map[x][y]==12)cout<<": ";
  • if (map[x][y]==6){
  • if (fs>999&&fs<10000)cout<
  • if (fs>99&&fs<1000)cout<<" "<
  • if (fs<100)cout<<"  ";
  • }
  • if (map[x][y]==7){
  • if (fs>999&&fs<10000){
  • if (fs%1000<10)cout<<"0"<
  • if (fs%1000>99){
  • if ((fs%1000)%100<10){
  • cout<<"0"<<(fs%1000)%100;
  • }else{
  • cout<<(fs%1000)%100;
  • }
  • }
  • if (fs%1000<100&&fs%1000>9)cout<
  • }
  • if (fs>99&&fs<1000){
  • if (fs%100<10){
  • cout<<"0"<
  • }else{
  • cout<
  • }
  • }
  • if (fs>9&&fs<100)cout<
  • if (fs<10)cout<<" "<
  • }
  • if (map[x][y]==8)cout<<"等";
  • if (map[x][y]==9)cout<<"级";
  • if (map[x][y]==10){
  • if (dj>999&&dj<10000)cout<
  • if (dj>99&&dj<1000)cout<<" "<
  • if (dj<100)cout<<"  ";
  • }
  • if (map[x][y]==11){
  • if (dj>999&&dj<10000){
  • if (dj%1000<10)cout<<"0"<
  • if (dj%1000>99){
  • if ((dj%1000)%100<10){
  • cout<<"0"<<(dj%1000)%100;
  • }else{
  • cout<<(dj%1000)%100;
  • }
  • }
  • if (dj%1000<100&&dj%1000>9)cout<
  • }
  • if (dj>99&&dj<1000){
  • if (dj%100<10){
  • cout<<"0"<
  • }else{
  • cout<
  • }
  • }
  • if (dj>9&&dj<100)cout<
  • if (dj<10)cout<<" "<
  • }
  • }
  • cout<<"\n";
  • }
  • }
  • int sjs (int v){
  • return rand()%v+1;
  • }

  • void csxz (int zl){
  • if (zl==1){dx1=5;dy1=1;dx2=4;dy2=1;dx3=5;dy3=2;dx4=4;dy4=2;}
  • if (zl==2){dx1=5;dy1=1;dx2=5;dy2=2;dx3=5;dy3=3;dx4=5;dy4=4;}
  • if (zl==3){dx1=5;dy1=1;dx2=5;dy2=2;dx3=5;dy3=3;dx4=4;dy4=1;}
  • if (zl==4){dx1=5;dy1=1;dx2=5;dy2=2;dx3=5;dy3=3;dx4=6;dy4=1;}
  • if (zl==5){dx1=5;dy1=1;dx2=5;dy2=2;dx3=6;dy3=2;dx4=4;dy4=2;}
  • if (zl==6){dx1=5;dy1=1;dx2=5;dy2=2;dx3=4;dy3=1;dx4=6;dy4=2;}
  • if (zl==7){dx1=5;dy1=1;dx2=5;dy2=2;dx3=4;dy3=2;dx4=6;dy4=1;}
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • }
  • void csxzx (int zl){
  • map[xdx1][xdy1]=0;map[xdx2][xdy2]=0;map[xdx3][xdy3]=0;map[xdx4][xdy4]=0;
  • if (zl==1){xdx1=5+xfk;xdy1=1;xdx2=4+xfk;xdy2=1;xdx3=5+xfk;xdy3=2;xdx4=4+xfk;xdy4=2;}
  • if (zl==2){xdx1=5+xfk;xdy1=1;xdx2=5+xfk;xdy2=2;xdx3=5+xfk;xdy3=3;xdx4=5+xfk;xdy4=4;}
  • if (zl==3){xdx1=5+xfk;xdy1=1;xdx2=5+xfk;xdy2=2;xdx3=5+xfk;xdy3=3;xdx4=4+xfk;xdy4=1;}
  • if (zl==4){xdx1=5+xfk;xdy1=1;xdx2=5+xfk;xdy2=2;xdx3=5+xfk;xdy3=3;xdx4=6+xfk;xdy4=1;}
  • if (zl==5){xdx1=5+xfk;xdy1=1;xdx2=5+xfk;xdy2=2;xdx3=6+xfk;xdy3=2;xdx4=4+xfk;xdy4=2;}
  • if (zl==6){xdx1=5+xfk;xdy1=1;xdx2=5+xfk;xdy2=2;xdx3=4+xfk;xdy3=1;xdx4=6+xfk;xdy4=2;}
  • if (zl==7){xdx1=5+xfk;xdy1=1;xdx2=5+xfk;xdy2=2;xdx3=4+xfk;xdy3=2;xdx4=6+xfk;xdy4=1;}
  • map[xdx1][xdy1]=3;map[xdx2][xdy2]=3;map[xdx3][xdy3]=3;map[xdx4][xdy4]=3;
  • }
  • void xz (int qs,int bh){
  • int lsx=dx2,lsx0=dx2,lsy=dy2;
  • map[dx1][dy1]=0;map[dx2][dy2]=0;map[dx3][dy3]=0;map[dx4][dy4]=0;
  • if (map[lsx-1][lsy]==2){
  • lsx++;
  • if (qs==2&&map[lsx+1][lsy]==3)return;
  • if (qs==2)lsx++;
  • }
  • if (map[lsx+1][lsy]==2){
  • lsx--;
  • if (qs==2&&map[lsx-1][lsy]==3)return;
  • }
  • if (qs==1){
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }

  • if (qs==2){
  • dx2=lsx;
  • if (bh==1||bh==3){
  • if (map[dx2][dy2-1]==0&&map[dx2][dy2+1]==0&&map[dx2][dy2+2]==0){
  • dx1=dx2;dy1=dy2-1;dx3=dx2;dy3=dy2+1;dx4=dx2;dy4=dy2+2;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==2||bh==4){
  • if (map[dx2+1][dy2]==0&&map[dx2-1][dy2]==0&&map[dx2-2][dy2]==0){
  • dx1=dx2+1;dy1=dy2;dx3=dx2-1;dy3=dy2;dx4=dx2-2;dy4=dy2;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • }
  • if (qs==3){
  • dx2=lsx;
  • if (bh==1){
  • if (map[dx2][dy2-1]==0&&map[dx2][dy2+1]==0&&map[dx2-1][dy2-1]==0){
  • dx1=dx2;dy1=dy2-1;dx3=dx2;dy3=dy2+1;dx4=dx2-1;dy4=dy2-1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==2){
  • if (map[dx2+1][dy2]==0&&map[dx2-1][dy2]==0&&map[dx2+1][dy2-1]==0){
  • dx1=dx2+1;dy1=dy2;dx3=dx2-1;dy3=dy2;dx4=dx2+1;dy4=dy2-1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==3){
  • if (map[dx2][dy2+1]==0&&map[dx2][dy2-1]==0&&map[dx2+1][dy2+1]==0){
  • dx1=dx2;dy1=dy2+1;dx3=dx2;dy3=dy2-1;dx4=dx2+1;dy4=dy2+1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==4){
  • if (map[dx2-1][dy2]==0&&map[dx2+1][dy2]==0&&map[dx2-1][dy2+1]==0){
  • dx1=dx2-1;dy1=dy2;dx3=dx2+1;dy3=dy2;dx4=dx2-1;dy4=dy2+1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • }
  • if (qs==4){
  • dx2=lsx;
  • if (bh==1){
  • if (map[dx2][dy2-1]==0&&map[dx2][dy2+1]==0&&map[dx2+1][dy2-1]==0){
  • dx1=dx2;dy1=dy2-1;dx3=dx2;dy3=dy2+1;dx4=dx2+1;dy4=dy2-1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==2){
  • if (map[dx2+1][dy2]==0&&map[dx2-1][dy2]==0&&map[dx2+1][dy2+1]==0){
  • dx1=dx2+1;dy1=dy2;dx3=dx2-1;dy3=dy2;dx4=dx2+1;dy4=dy2+1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==3){
  • if (map[dx2][dy2+1]==0&&map[dx2][dy2-1]==0&&map[dx2-1][dy2+1]==0){
  • dx1=dx2;dy1=dy2+1;dx3=dx2;dy3=dy2-1;dx4=dx2-1;dy4=dy2+1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==4){
  • if (map[dx2-1][dy2]==0&&map[dx2+1][dy2]==0&&map[dx2-1][dy2-1]==0){
  • dx1=dx2-1;dy1=dy2;dx3=dx2+1;dy3=dy2;dx4=dx2-1;dy4=dy2-1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • }
  • if (qs==5){
  • dx2=lsx;
  • if (bh==1){
  • if (map[dx2+1][dy2]==0){
  • dx1=dx2;dy1=dy2-1;dx3=dx2+1;dy3=dy2;dx4=dx2-1;dy4=dy2;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==2){
  • if (map[dx2][dy2+1]==0){
  • dx1=dx2+1;dy1=dy2;dx3=dx2;dy3=dy2+1;dx4=dx2;dy4=dy2-1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==3){
  • if (map[dx2-1][dy2]==0){
  • dx1=dx2;dy1=dy2+1;dx3=dx2-1;dy3=dy2;dx4=dx2+1;dy4=dy2;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==4){
  • if (map[dx2][dy2-1]==0){
  • dx1=dx2-1;dy1=dy2;dx3=dx2;dy3=dy2-1;dx4=dx2;dy4=dy2+1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • }
  • if (qs==6){
  • dx2=lsx;
  • if (bh==1||bh==3){
  • if (map[dx2-1][dy2-1]==0&&map[dx2+1][dy2]==0){
  • dx1=dx2;dy1=dy2-1;dx3=dx2-1;dy3=dy2-1;dx4=dx2+1;dy4=dy2;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==2||bh==4){
  • if (map[dx2][dy2+1]==0){
  • dx1=dx2-1;dy1=dy2;dx3=dx2-1;dy3=dy2+1;dx4=dx2;dy4=dy2-1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • }
  • if (qs==7){
  • dx2=lsx;
  • if (bh==1||bh==3){
  • if (map[dx2+1][dy2-1]==0&&map[dx2-1][dy2]==0){
  • dx1=dx2;dy1=dy2-1;dx3=dx2-1;dy3=dy2;dx4=dx2+1;dy4=dy2-1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • if (bh==2||bh==4){
  • if (map[dx2+1][dy2+1]==0){
  • dx1=dx2+1;dy1=dy2;dx3=dx2;dy3=dy2-1;dx4=dx2+1;dy4=dy2+1;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return;
  • }
  • }
  • }
  • dx2=lsx0;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • }
  • void zytjzs (int m){
  • if (m==1){
  • dx1--;dx2--;dx3--;dx4--;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • }
  • if (m==2){
  • dx1++;dx2++;dx3++;dx4++;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • }
  • }
  • void xtjzs (){
  • dy1++;dy2++;dy3++;dy4++;
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • }
  • void zytj (int qs,int bh,int zy){
  • map[dx1][dy1]=0;map[dx2][dy2]=0;map[dx3][dy3]=0;map[dx4][dy4]=0;
  • if (qs==1){
  • if (zy==4){
  • if (map[dx2-1][dy2]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx3+1][dy3]==0){zytjzs (2);return;}
  • }
  • }
  • if (qs==2){
  • if (bh==1||bh==3){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx2-1][dy2]==0&&map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx2+1][dy2]==0&&map[dx3+1][dy3]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==2||bh==4){
  • if (zy==4){
  • if (map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0){zytjzs (2);return;}
  • }
  • }
  • }
  • if (qs==3){
  • if (bh==1){
  • if (zy==4){
  • if (map[dx2-1][dy2]==0&&map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx2+1][dy2]==0&&map[dx3+1][dy3]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==2){
  • if (zy==4){
  • if (map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==3){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx2-1][dy2]==0&&map[dx3-1][dy3]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx3+1][dy3]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==4){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx3+1][dy3]==0){zytjzs (2);return;}
  • }
  • }
  • }
  • if (qs==4){
  • if (bh==1){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx2-1][dy2]==0&&map[dx3-1][dy3]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx2+1][dy2]==0&&map[dx3+1][dy3]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==2){
  • if (zy==4){
  • if (map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==3){
  • if (zy==4){
  • if (map[dx2-1][dy2]==0&&map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx2+1][dy2]==0&&map[dx3+1][dy3]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==4){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx3+1][dy3]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • }
  • if (qs==5){
  • if (bh==1){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx3+1][dy3]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==2){
  • if (zy==4){
  • if (map[dx2-1][dy2]==0&&map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx3+1][dy3]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==3){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx3-1][dy3]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==4){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx2+1][dy2]==0&&map[dx3+1][dy3]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • }
  • if (qs==6){
  • if (bh==1||bh==3){
  • if (zy==4){
  • if (map[dx2-1][dy2]==0&&map[dx3-1][dy3]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==2||bh==4){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx2+1][dy2]==0&&map[dx3+1][dy3]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • }
  • if (qs==7){
  • if (bh==1||bh==3){
  • if (zy==4){
  • if (map[dx1-1][dy1]==0&&map[dx3-1][dy3]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx2+1][dy2]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • if (bh==2||bh==4){
  • if (zy==4){
  • if (map[dx2-1][dy2]==0&&map[dx3-1][dy3]==0&&map[dx4-1][dy4]==0){zytjzs (1);return;}
  • }
  • if (zy==6){
  • if (map[dx1+1][dy1]==0&&map[dx3+1][dy3]==0&&map[dx4+1][dy4]==0){zytjzs (2);return;}
  • }
  • }
  • }
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • }
  • int xtj (int qs,int bh){
  • map[dx1][dy1]=0;map[dx2][dy2]=0;map[dx3][dy3]=0;map[dx4][dy4]=0;
  • if (qs==1){
  • if (map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (qs==2){
  • if (bh==1||bh==3){
  • if (map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==2||bh==4){
  • if (map[dx1][dy1+1]==0&&map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • }
  • if (qs==3){
  • if (bh==1){
  • if (map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==2){
  • if (map[dx1][dy1+1]==0&&map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==3){
  • if (map[dx1][dy1+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==4){
  • if (map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • }
  • if (qs==4){
  • if (bh==1){
  • if (map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==2){
  • if (map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==3){
  • if (map[dx1][dy1+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==4){
  • if (map[dx1][dy1+1]==0&&map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0){xtjzs ();return 1;}
  • }
  • }
  • if (qs==5){
  • if (bh==1){
  • if (map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==2){
  • if (map[dx1][dy1+1]==0&&map[dx3][dy3+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==3){
  • if (map[dx1][dy1+1]==0&&map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==4){
  • if (map[dx1][dy1+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • }
  • if (qs==6){
  • if (bh==1||bh==3){
  • if (map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==2||bh==4){
  • if (map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0){xtjzs ();return 1;}
  • }
  • }
  • if (qs==7){
  • if (bh==1||bh==3){
  • if (map[dx2][dy2+1]==0&&map[dx3][dy3+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • if (bh==2||bh==4){
  • if (map[dx2][dy2+1]==0&&map[dx4][dy4+1]==0){xtjzs ();return 1;}
  • }
  • }
  • map[dx1][dy1]=3;map[dx2][dy2]=3;map[dx3][dy3]=3;map[dx4][dy4]=3;
  • return 0;
  • }
  • int jstj (){
  • for (int x=1;x<11;x++){
  • if (map[x][1]==3)return 1;
  • }
  • return 0;
  • }
  • void dfpl (int fx,int fy){
  • while ((fy-1)>0){
  • map[fx][fy]=map[fx][fy-1];
  • map[fx][fy-1]=0;
  • fy--;
  • }
  • }
  • void dftj (){
  • int f;
  • for (int y=19;y>0;){
  • f=0;
  • for (int x=1;x<11;x++){
  • if (map[x][y]==3)f++;
  • if (map[x][y]==0)f=0;
  • }
  • if (f==10){
  • fs++;
  • lsfs++;
  • for (int x=1;x<11;x++){
  • map[x][y]=0;
  • dfpl (x,y);
  • }
  • }else{
  • y--;
  • }
  • }
  • }



你可能感兴趣的:(Debug)