c语言贪吃蛇食物变化位置的问题

食物变化一直在最上面一层,为什么不变化在中间或者下面
#include
#include
#include
#include//easyx头文件
/*
知识点:结构体,循环,函数,easyx,数组
*/
//做界面,创建图形窗口
#define SNAKE_NUM 500
enum DIR//表示蛇的方向
{
    UP,
    DOWN,
    LEFT,
    RIGHT,
};
//蛇的结构
struct Snake
{   
    int size;
    int dir;//蛇的方向
    int speed;
    POINT coor[SNAKE_NUM];//坐标
}snake;
//食物结构
struct Food
{
    int x;
    int y;
    int r;  //食物大小
    bool flag;//食物是否被吃了
    DWORD color;//食物颜色
}food;
//数据的初始化
void GameInit()
{   //init初始化 graph图形窗口 SHOWCONSOLE显示控制台
    initgraph(640, 480/*SHOWCONSOLE*/);
    //设置随机数种子 GetTickCount();获取系统开机到现在所经过的毫秒数 
    srand(GetTickCount());
    //初始化蛇 一开始有三节
    snake.size = 3;
    snake.speed = 10;
    snake.dir = RIGHT;
    for (int i = 0; i < snake.size; i++)
    {
        snake.coor[i].x = 40 - i * 10;
        snake.coor[i].y = 10;
    }
    //初始化食物,rand()随机产生一个整数,如果没有设置随机种子,每次产生的都是固定的整数 
    //设置种子需要头文件 stdlib.h 一般把时间作为种子因为时间是在不断变化的 
    food.x = rand() % 640;
    food.x = rand() % 480;
    food.color = RGB(rand() % 256, rand() % 256, rand() % 256);
    food.r = rand() % 10 + 5;
    food.flag = true;
}
void GameDraw()
{//双缓冲绘图
    BeginBatchDraw();
    //设置背景颜色
    setbkcolor(RGB(28, 115, 119));
    cleardevice();
    //绘制蛇
    setfillcolor(RED);
    for (int i = 0; i < snake.size; i++)
    {
        solidcircle(snake.coor[i].x, snake.coor[i].y, 5);
    } 
    if (food.flag)
    {
        solidcircle(food.x, food.y, food.r);
    }
    EndBatchDraw();
}
//移动蛇
void snakeMove()
{
    //让身体跟着头运动
    for (int i = snake.size-1; i >0; i--)
    {
        snake.coor[i] = snake.coor[i - 1];
    }
    //移动是什么发生改变
        switch (snake.dir)
        {
            case UP:
                snake.coor[0].y -= snake.speed;;
                if (snake.coor[0].y +10<= 0)
                {
                    snake.coor[0].y = 480;
                }
                break;
            case DOWN:
                    snake.coor[0].y+= snake.speed;
                    if (snake.coor[0].y - 10 <= 480)
                    {
                        snake.coor[0].y = 0;
                    }
                    break;
            case LEFT:
                snake.coor[0].x-= snake.speed;
                if (snake.coor[0].x+ 10 <= 0)
                {
                    snake.coor[0].x = 640;
                }
                break;
            case RIGHT:
                snake.coor[0].x+= snake.speed;
                if (snake.coor[0].x-10 >=640)
                {
                    snake.coor[0].x= 0;
                }
                break;
            
        }
        
    
}
//通过按键改变蛇的移动方向
void keyControl()
{//判断有没有按键 如果有按键,就返回真
    if(_kbhit())
    //72 80 75 77 上下左右键值
    switch (_getch())
    {
    case'w':
    case'W':
    case 72:
        //改变方向
        if (snake.dir != DOWN)
        {
            snake.dir = UP;
        }
        break;
    case's':
    case'S':
    case 80:
        if (snake.dir != UP)
        {
            snake.dir = DOWN;
        }
        break;
    case'a':
    case'A':
    case 75:
        if (snake.dir != RIGHT)
        {
            snake.dir = LEFT;
        }
        break;
    case'd':
    case'D':
    case 77:
        if (snake.dir != LEFT)
        {
            snake.dir = RIGHT;
        }
        break;
    case' '://游戏暂停逻辑
    while(1)
    {
        if (_getch() == ' ')
        {
            return;
        }
        break;
    }
    }
}
void EatFood()
{
    if (food.flag&&snake.coor[0].x >= food.x-food.r && snake.coor[0].x <= food.x+food.r&&snake.coor[0].y>=food.y-food.r&&snake.coor[0].y<=food.y+food.r)
    {
        food.flag = false;
        snake.size++;
    }
    //如果食物消失,则重新生成一个食物 
    if (!food.flag)
    {
        food.x = rand() % 640;
        food.x = rand() % 480;
        food.color = RGB(rand() % 256, rand() % 256, rand() % 256);
        food.r = rand() % 10 + 5;
        food.flag = true;
    }
    /*可以加一个分数吃一个食物加N分 */

}
int main()
{
    
    GameInit();
    //cleardevice();
    while (1)
    {
        snakeMove();
        GameDraw();
        keyControl();
        EatFood();
        Sleep(200);
    }
    return 0;
}

你的初始的思路呢?