用隊列實現貪喫蛇遊戲邏輯
class form
{
public:
ontimer(); //定時處理
is_die(); //判斷蛇是否死亡
move(); // 移動蛇
is_has_food(); //蛇頭位置是否有食物
eat_food(); // 蛇喫當前位置的食物
display(); //顯示蛇
private:
queueEx queue_; //用隊列保存蛇各節的位置
}
ontimer()
{
move();
display();
if (is_die())
{
alert("you die!");
}
else
{
head_pos = queue_.head();
if (is_has_food( head_pos ))
{
eat_food();
}
}
}
move()
{
queue_.pop_tail();
head_pos = queue_.head();
++head_pos;
queue_.enqueue(head_pos);
}
eat_food()
{
head_pos = queue_.head();
++head_pos;
queue_.enqueue(head_pos);
}