📄 gamepanel.java
字号:
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Graphics;
public class GamePanel extends JPanel implements Runnable
{
//private static final long serialVersionUID = 5121613031212545423L;
private int width;
private int height;
private Snake snake;
private Node food = null;
private FoodManager foodManager;
private int speed = 100;
GamePanel(int w, int h, int l)
{//w和h务必为10的倍数!
snake = new Snake(l);
foodManager = new FoodManager(this, snake);
width = w;
height = h;
this.setSize(w, h);
}
public Snake getSnake()
{
return this.snake;
}
public int getWidth()
{
return width;
}
public int getHeight()
{
return height;
}
public void setWidth(int w)
{
width = w;
}
public void setHeight(int h)
{
height = h;
}
public int getSpeed()
{
return speed;
}
public void setSpeed(int s)
{
speed = s;
}
public void paint(Graphics g)
{
super.paint(g);
snake.move();//小蛇移动
snake.display(g);//显示小蛇
//if(food!=null)
//food.display(g);
foodManager.putFood().display(g);
}
public void run()
{
while(!snake.goToBoundary(this) && !snake.eatSelf())
{
food = foodManager.putFood();
if(snake.eatFood(food))
snake.eat(food,foodManager);
//snake.eat(new Node(snake.getTail().getX(), snake.getTail().getY()));
repaint();
try {
Thread.sleep(speed);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -