?? 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 + -