m0_62475902 2022-06-24 00:07 采纳率: 66.7%
浏览 40
已结题

关于c语言贪吃蛇的问题

img

img

img

img

img

img

img

img

看不到代码救命啊,谢谢大家的解答谢谢
全部代码如图所示..
关于如何控制贪吃蛇移动的问题

img

  • 写回答

3条回答

  • emXiaoMing 2022-06-24 09:10
    关注

    给你解释一下下面这个操作方向函数。首先上面的宏定义把U D L R替换成了1 2 3 4代表上下左右四个方向。
    然后按下'w'时,先判断当前是不是在向下走(D),如果正在向下走就不能回头向上走,状态不变;如果当前不是在向下走,就把状态改为向上(U)。其他分支同理。实际控制蛇行进方向的是status这个变量,你通过输入'w' 'a' 's' 'd'来改变status的值。

    #define U 1                 //使用宏代替需要数字代替的蛇的行动方向
    #define D 2                 //宏名含义是各方向英文单词首字母
    #define L 3                 //蛇的状态,U:上 ;D:下;L:左 R:右
    #define R 4 
    
    void czfxhs()                   //操作方向函数,接收从键盘输入的按键,控制贪吃蛇行进方向
    {
        char ch = _getch();
        switch (ch)
        {
            case 'w': 
                if(status != D)
                    status = U; break;
            case 's': 
                if (status != U)
                    status = D; break;
            case 'a': 
                if (status != R)
                    status = L; break;
            case 'd': 
                if (status != L)
                    status = R; break;
            case ' ': 
                _getch(); break;        //空格暂停
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月2日
  • 已采纳回答 6月24日
  • 创建了问题 6月24日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器