head[0]+1; cursor[1]=head[1]; gotoxy(cursor[0],cursor[1]); }else{ gotoxy(head[0],head[1]); } } /*更新尾巴的坐标*/ void update_tail_position(){ old_tail[0]=tail[0]; old_tail[1]=tail[1];//保存上次尾巴的位置 if(tail[0]==food[0] && tail[1]==food[1]){ gotoxy(tail[0],tail[1]); putchar(FOOD); } if(tail_turn_num if(tail[0] tail[0]+=1; }else if(tail[0]>turn_point[tail_turn_num%TURN_NUM][0]){ tail[0]-=1; }else if(tail[1] tail[1]+=1; }else if(tail[1]>turn_point[tail_turn_num%TURN_NUM][1]){ tail[1]-=1; }else if(tail[0]==turn_point[(tail_turn_num-1)%TURN_NUM][0] && tail[1]==turn_point[(tail_turn_num-1)%TURN_NUM][1]){ if(tail[0] tail[0]+=1; }else if(tail[0]>turn_point[tail_turn_num%TURN_NUM][0]){ tail[0]-=1; }else if(tail[1] tail[1]+=1; }else if(tail[1]>turn_point[tail_turn_num%TURN_NUM][1]){ tail[1]-=1; } } if(tail[0]==turn_point[tail_turn_num%TURN_NUM][0] && tail[1]==turn_point[tail_turn_num%TURN_NUM][1]){ tail_turn_num+=1; } }else if(tail_turn_num==head_turn_num){ if(tail[0] tail[0]+=1; }else if(tail[0]>head[0]){ tail[0]-=1; }else if(tail[1] tail[1]+=1; }else if(tail[1]>head[1]){ tail[1]-=1; } } } void generate_food(){ int i=0,j=0; do{ i=rand()%DOWN_EDGE; }while(iDOWN_EDGE); do{ j=rand()%DOWN_EDGE; }while(jRIGHT_EDGE); food[0]=i; food[1]=j; gotoxy(food[0],food[1]);//抵达食物投放点 putchar(FOOD);//放置食物 gotoxy(cursor[0],cursor[1]);//返回光标当前位置 } void eat_food(){ if(tail[0]==turn_point[(tail_turn_num-1)%TURN_NUM][0] && tail[1]==turn_point[(tail_turn_num-1)%TURN_NUM][1]){ tail_turn_num-=1; } snake[snake_length++]=snake[1]; tail[0]=old_tail[0]; tail[1]=old_tail[1];//将尾巴回退到上一步所在的位置 gotoxy(tail[0],tail[1]); putchar(snake[1]); food_num++; score=food_num; gotoxy(cursor[0],cursor[1]); }
作者“sxmalinhu”
|