俄罗斯方块是怎么样实现暂停的
发表在C语言图书答疑 2020-04-26 《C语言项目开发实战入门》第1章 趣味俄罗斯方块
是否精华
版块置顶:

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

    {

      PrintTetris(tetris);

      while(1)

      {

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

      {

        ch=getch();

        if(ch == 32)

        {

        goto label;

        }

      }

      }

    }

下面是printTetris函数

void PrintTetris(struct Tetris *tetris)

{

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

  {

  b[i]=1;          //数组b[4]的每个元素的值都为1

  }

  MakeTetris(tetris);      //制作游戏窗口

  for( i=tetris->x-2; i<=tetris->x+4; i+=2 )

  {

  for(j=tetris->y-2;j<=tetris->y+1;j++)

  {

    if( a[i][j]==1 && j>FrameY )

    {

    gotoxy(i,j);

printf("■");     //打印边框内的方块

    }

  }

}

  //打印菜单信息

gotoxy(FrameX+2*Frame_width+3,FrameY+1);

color(4);

  printf("level : ");

  color(12);

  printf(" %d",tetris->level);

gotoxy(FrameX+2*Frame_width+3,FrameY+3);

color(4);

  printf("score : ");

  color(12);

  printf(" %d",tetris->score);

gotoxy(FrameX+2*Frame_width+3,FrameY+5);

color(4);

  printf("speed : ");

  color(12);

printf(" %dms",tetris->speed);

}


分享到:
精彩评论 1
李木子
学分:2954 LV11
2020-04-26
沙发

你好:

   按空格键暂停  获取键盘的空格键

首页上一页 1 下一页尾页 1 条记录 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经营性网站备案信息 营业执照