俄罗斯方块c/c++语言代码

/*******************************/
   /******Writer:   GJ      *******/
   /******Language: C       *******/
   /******Date:   2013 3 23 *******/
   /*******************************/
   #include
   #include
   //#include
   #include
   #include
   #include
   #include
   using namespace std;
   #define me(a) memset(a,0,sizeof(a))
   #define judge(bl,ok) for(i=0;i<5;i++)if(bl[i].x&&map[bl[i].x][bl[i].y])ok=0
   #define is_pure(node,ok) if(map[node.x][node.y])ok=0
   const int HEIGHT=24,LENGTH=40,SIDE=22;
 
   char INIT_MAP[HEIGHT+1][LENGTH+1];
   int map[HEIGHT][SIDE];
   struct node{int x,y;int color;};
   const int TIME_DWELL=1000;
   int state=0;
 
   /**********获取句柄**********/
   HANDLE Output=GetStdHandle(STD_OUTPUT_HANDLE);
   HANDLE Input=GetStdHandle(STD_INPUT_HANDLE);
 
   /**********设置光标位置**********/
   void SetCursor(int x,int y){
       COORD cd={x,y};
       SetConsoleCursorPosition(Output,cd);
   }
 
   /**************初始化图**************/
   void INITMAP()
   {
       for(int i=0;imax)max=block[i].y;
       if(max+2>19)ok=0;
       for(i=0;i<5&&block[i].x;i++)if(block[i].x)
           if(map[block[i].x][block[i].y+2])ok=0;
       return ok;
   }
 
   /*********打印图**********/
   void print_map()
   {
       int i,j;
       me(INIT_MAP);
       for(i=0;i1;i--){
           int ok=1;
           for(j=1;j1;j--)for(int k=1;k1;i--)
           for(int j=1;j=5&&j<17)printf("%c",aa[t++]);
                       else printf(" ");
                   }
               }
               else for(j=4;j<18;j++){
                       SetCursor(j,i);
                       printf(" ");
               }
           }
           SetCursor(1,12);printf(" Enter To Continue. ");
           SetCursor(1,13);printf("    Esc To Escape.  ");
           SetCursor(1,14);printf("                    ");
       }
       return ok;
   }
 
   /*******游戏结束,再来一局,清理屏幕******/
   void Clear_map()
   {
       for(int i=22;i>0;i--)
           for(int j=1;j

你可能感兴趣的:(生活,编程)