gui学习小结
贪吃蛇方法记录
public class GameStart{
public static void main(String[] args) {
JFrame frame = new JFrame();//启动一个弹窗swing方法,后续所有方法都用这个执行
frame.add(new GamePanel()); //这里时添加了一个自定义画笔类
frame.setResizable(false); //设置无法拉升弹窗
frame.setVisible(true); //设置弹窗可见
frame.setBounds(10,10,900,720);//设置坐标,长宽
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置点击关闭按钮
}
}
//自定义的画笔类,继承了JPanel画笔类,实现了KeyListener键盘监听类,ActionListener定时器监听类
public class GamePanel extends JPanel implements KeyListener, ActionListener {
int length;
int[] snakeX = new int[600];
int[] snakeY = new int[600];
String direction;
boolean isstart = false;
Timer timer = new Timer(100,this);//100毫秒刷帧
int foodx;
int foody;
Random random = new Random();
boolean isfaile = false;
int score;
public GamePanel() {
init();
this.setFocusable(true);//设置焦点
this.addKeyListener(this);//添加键盘监听类
}
public void init(){
length = 3;
snakeX[0] = 100;snakeY[0] = 100;
snakeX[1] = 75;snakeY[1] = 100;
snakeX[2] = 50;snakeY[2] = 100;
direction = "right";
foodx = 25+25*random.nextInt(34);
foody = 75+25*random.nextInt(24);
score = 0;
timer.start();//定时器启动
}
//继承JPanel后重写的paintComponent方法