You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Raylib与C开发贪吃蛇:蛇体无法显示的问题排查

为什么我的Raylib+C贪吃蛇程序蛇体无法显示?

你的代码存在两个核心问题,导致蛇体无法渲染:

  • 循环变量未初始化
    遍历蛇体的for循环中,unsigned int i没有设置初始值,它会被赋予一个随机的垃圾值。如果这个值大于等于蛇的长度Size(3),循环体完全不会执行,自然画不出任何蛇节。
    修正后的循环代码:

    for (unsigned int i = 0; i < Size; i++){
        DrawRectangle(snake[i].pos.x * CELLSIZE, snake[i].pos.y * CELLSIZE, CELLSIZE, CELLSIZE, darkGreen);
    }
    
  • 食物位置初始化语法不完整
    你初始化foodPos时只定义了x坐标,缺少y坐标的赋值,还漏掉了闭合的};,这会触发语法错误,甚至可能干扰后续代码的执行逻辑。
    修正后的食物初始化代码:

    Vector2 foodPos = {
        GetRandomValue(0, CELLCOUNT - 1),
        GetRandomValue(0, CELLCOUNT - 1)
    };
    

把这两处修改后,蛇体就能正常显示在屏幕上了。

内容的提问来源于stack exchange,提问作者Neraan Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 12:46:25