📄 foodmanager.java
字号:
public class FoodManager
{
private boolean eaten;
private GamePanel gamePanel;
private Snake snake;
private Node food = null;
public FoodManager(GamePanel gamePanel, Snake snake)
{
eaten = true;
this.gamePanel = gamePanel;
this.snake = snake;
//this.food = null;
}
public void setEaten(boolean b)
{
eaten = b;;
}
public Node putFood()
{
if(eaten == true)
{//如果食物已经被吃掉,则添加食物
food = createFood();
//food.display(gamePanel.getGraphics());//绘图全放在gamePanel里面
eaten = false;
}
return food;
}
/*需要重新写过(不正确,死循环!)
private boolean foodInSnakeBody(Node food)
{
Node p = snake.getHead().getNext();//取得蛇的尾部(队列的队头)
while(p != null)
{
if(p.equals(food))
{
return true;
}
p = p.getNext();
}
return true;
}
*/
private Node createFood()
{
int x;
int y;
Node food;
//do
//{
x = (int)(Math.random() * gamePanel.getWidth() / 10 - 1);
y = (int)(Math.random() * gamePanel.getHeight() / 10 - 1);
food = new Node(x, y);
//}while(foodInSnakeBody(food));
return food;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -