qq_37069759
2017-05-29 17:40
采纳率: 100%
浏览 1.3k
已采纳

C语言贪吃蛇小游戏的一些问题

做个贪吃蛇游戏,想实现这样的功能:假如在10秒内玩家没能操控蛇吃到食物,那么食物就会刷新,重新出现在另一个坐标。不知道如何实现这样的功能。用Sleep()延迟函数可以吗

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • shifenglv 2017-05-30 06:08
    已采纳

    图片说明

    点赞 打赏 评论
  • shifenglv 2017-05-30 02:06

    sleep函数是延迟,延迟就是暂停执行,肯定是不行的。你通过获取系统时间的方式,好像有一个time的函数,包含在time.h里边。定义两个变量start,和end。然后time(&start);
    time(&end);如果end-start>=10秒,……单位好像是毫秒。具体你可以查一下怎么用

    点赞 打赏 评论
  • qq_37069759 2017-05-30 16:40

    我用你的代码输出Hello World,本来应该是每10秒输出一次,但结果是等了一会后不断输出,然后停了,为什么会这样图片

    点赞 打赏 评论
  • qq_37069759 2017-05-30 16:52

    我这样调用对吗,加了下面那个判断好像跟没加没区别图片

    点赞 打赏 评论
  • shifenglv 2017-05-31 01:28

    不是没作用,时间是一秒钟更新一次,而电脑执行速度太快了,1秒钟执行了很多次。你这种情况应该是一下子执行很多次,然后暂停10秒,再执行很多次……。加入这样的控制条件吧:循环体外边定义一个变量bool m=true;然后在判断条件这样写T%10==0&&m==true,如果通过则执行操作,且令m=false。如果不通过则不执行操作,且令m=true。这样,执行过后不会重复执行,直到10秒之后

    点赞 打赏 评论
  • shifenglv 2017-05-31 06:17

    图片说明

    点赞 打赏 评论

相关推荐 更多相似问题