使用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
相关产品推荐
相关产品推荐

