为什么我写的这段代码在写代码的软件上一直报错,但是在代码查错软件上一直显示无错误 搞得很疑惑 就是控制方块方向,这个词就一直报错
发表在C语言图书答疑 2020-02-04 《C语言项目开发实战入门》第1章 趣味俄罗斯方块
是否精华
版块置顶:

        //按键操作

  while(1)  //控制方块方向,直至方块不再下移

  {

   label:PrintTetris(tetris);//打印俄罗斯方块

   Sleep(tetris->speed);   //延缓时间

   CleanTetris(tetris);  //清除痕迹

   Temp1=tetris->x;    //记住中心方块横坐标的值

   Temp2=tetris->flag;    //记住当前俄罗斯方块序号

   if(kbhit())         //判断是否有键盘输入,有则用ch↓接收

   {

    ch=getch();

    if(ch==75)     //按 ←键则向左动,中心横坐标减2

    {

     tetris->x-=2;

    }

    if(ch==77)     //按 →键则向右动,中心横坐标加2

    {

     tetris->x+=2;

    }

    if(ch==80)     //按 ↓键则加速下落

    {

if(ifMove(tetris)!=0)

{

tetris->y+=2;

}

if(ifMove(tetris)==0)

{

tetris->y=FrameY+Frame_height-2;

    }

    }

    if(ch==72)     //按 ↑键则变体,即当前方块顺时针转90度

    {

    if( tetris->flag>=2 && tetris->flag<=3 )//如果是直线方块

     {

      tetris->flag++;

      tetris->flag%=2;

      tetris->flag+=2;

     }

     if( tetris->flag>=4 && tetris->flag<=7 )//如果是T字方块

     {

      tetris->flag++;

      tetris->flag%=4;

      tetris->flag+=4;

     }

     if( tetris->flag>=8 && tetris->flag<=11 )//如果是Z字方块

     {

      tetris->flag++;

      tetris->flag%=4;

      tetris->flag+=8;

     }

     if( tetris->flag>=12 && tetris->flag<=15 )//如果是7字方块

     {

      tetris->flag++;

      tetris->flag%=4;

      tetris->flag+=12;

     }

     if( tetris->flag>=16 && tetris->flag<=19 )//如果是反7字方块

     {

      tetris->flag++;

      tetris->flag%=4;

      tetris->flag+=16;

     }

    }

    if(ch == 32)     //按空格键,暂停

    {

     PrintTetris(tetris);

     while(1)

     {

      if(kbhit())   //再按空格键,继续游戏

      {

       ch=getch();

       if(ch == 32)

       {

        goto label;

       }

      }

     }

    }

if(ch == 27)

{

system("cls");

memset(a,0,6400*sizeof(int));       //初始化a数组

welcom();

}

    if(ifMove(tetris)==0) //如果不可动,上面操作无效

    {

    tetris->x=Temp1;

     tetris->flag=Temp2;

    }

    else      //如果可动,执行操作

    {

     goto label;

    }

   }

   tetris->y++;     //如果没有操作指令,方块向下移动

   if(ifMove(tetris)==0)  //如果向下移动且不可动,方块放在此处

   {

    tetris->y--;

    PrintTetris(tetris);

    Del_Fullline(tetris);

    break;

   }

  }


2020-02-04 11:53:20编辑
分享到:
精彩评论 3
李木子
学分:2954 LV11
2020-02-04
沙发

你好:

  自定义的函数是否声明,或者拼错错误

The girl S·J_1581654550
学分:12 LV2
2020-02-05
板凳

李木子 发表于2020-02-04 16:07

你好:

  自定义的函数是否声明,或者拼错错误

好的 老师 我再试试看

The girl S·J_1581654550
学分:12 LV2
2020-02-05
地板

李木子 发表于2020-02-04 16:07

你好:

  自定义的函数是否声明,或者拼错错误

麻烦请教老师 实在还是错的 不知如何解决

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照