📄 gamepanel.java
字号:
package cn.edu.usc.snake.view;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
import cn.edu.usc.snake.entities.Food;
import cn.edu.usc.snake.entities.Ground;
import cn.edu.usc.snake.entities.Snake;
import cn.edu.usc.snake.util.ConstValue;
public class GamePanel extends JPanel{
private Snake snake;
private Food food;
private Ground ground;
public GamePanel() {
this.setSize(ConstValue.PANEL_WIDTH * ConstValue.CELL_WIDTH,
ConstValue.PANEL_HEIGHT * ConstValue.CELL_HEIGHT);
}
public void display(Snake snake, Food food, Ground ground) {
this.snake = snake;
this.food = food;
this.ground = ground;
this.repaint();
}
@Override
protected void paintComponent(Graphics g) {
Color c = g.getColor();
g.setColor(Color.BLACK);
g.fillRect(0, 0, this.getSize().width, this.getSize().height);
if(null != snake) {
g.setColor(Color.RED);
g.drawString("Score: " + ConstValue.SCORE_PER_FOOD * snake.getEatFoodCount()
+ "/" + snake.getEatFoodCount(), 20, 50);
}
g.setColor(c);
if(null != snake && null != food && null != ground){
snake.drawMe(g);
food.drawMe(g);
ground.drawMe(g);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -