按了方向键,贪吃蛇消失或者边界消失,贪吃蛇消失的话有可能是贪吃蛇监测函数int has_snake_body(int row, int col),检测不到贪吃蛇身体,重点查看是否rig_delete_snake_body把贪吃蛇身体连头也free完了。不显示边界的话有可能是map_init()函数出了问题,没有重新初始化地图

还有一个地图生成问题,就是按按键地图生成错误,是没有用if else 对行和列分情况讨论

食物初始化没有生成,start_init函数忘记 初始化食物,撞墙后,在判断函数中记得初始化食物,还有,吃了食物后也要记得初始化食物。

困扰了很久的,一开始蛇只有一个头,分配了一个头,两节身子。而且蛇头不会移动一开始。
原因是:没有给蛇头方向,导致move 函数无法执行,也就无法一开始移动,至于后面为什么按了上下左右键位就可以移动了。原因是swith(key)触发move函数。

贪吃蛇咬到自己身子重开,遇到了画面静止不动,按方向键有问题。
bool snake_bite_itself(){
snake_t *p=snake_tail;
snake_t *q=snake_head;
while(q->next!=NULL){ //判断条件应该是下head->next不为空,要是是head不为空就会出错
//无法生成后续因为头不可能咬到自己
if(p->rowq->row&&p->colq->col){
return true;
}
q=q->next;
}

}

Posted on 2024-07-13 17:55  2022去植发  阅读(136)  评论(0)    收藏  举报