⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamepanel.java

📁 贪吃蛇java版本。自己写的
💻 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 + -