首页 > 编程 > Java > 正文

源码演示:java写吞食蛇游戏

2019-11-17 06:11:03
字体:
来源:转载
供稿:网友
   java新手,简单的吞食蛇游戏,一边写一边查书,写了半天才弄出来

  没法把jar文件附在文章后面,想试试的人自己编译一下吧

  有意见尽管提,高手多多指导,不过骂人就算了

  [原文地址]

  ////////////////////////////
  // 文件1
  ////////////////////////////





import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class GreedSnake implements KeyListener{
  JFrame mainFrame;
  Canvas paintCanvas;
  JLabel labelScore;
  SnakeModel snakeModel = null;

  public static final int canvasWidth = 200;
  public static final int canvasHeight = 300;

  public static final int nodeWidth = 10;
  public static final int nodeHeight = 10;

  public GreedSnake() {
    mainFrame = new JFrame("GreedSnake");

    Container cp = mainFrame.getContentPane();
 
    labelScore = new JLabel("Score:");
    cp.add(labelScore, BorderLayout.NORTH);

    paintCanvas = new Canvas();
    paintCanvas.setSize(canvasWidth+1,canvasHeight+1);
    paintCanvas.addKeyListener(this);
    cp.add(paintCanvas, BorderLayout.CENTER);

    JPanel panelButtom = new JPanel();
    panelButtom.setLayout(new BorderLayout());
    JLabel labelHelp;
    labelHelp = new JLabel("PageUp, PageDown for speed;", JLabel.CENTER);
    panelButtom.add(labelHelp, BorderLayout.NORTH);








    labelHelp = new JLabel("ENTER or R or S for start;", JLabel.CENTER);
    panelButtom.add(labelHelp, BorderLayout.CENTER);
    labelHelp = new JLabel("SPACE or P for pause",JLabel.CENTER);
    panelButtom.add(labelHelp, BorderLayout.SOUTH);
    cp.add(panelButtom,BorderLayout.SOUTH);

    mainFrame.addKeyListener(this);
    mainFrame.pack();
    mainFrame.setResizable(false);
    mainFrame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
    mainFrame.setVisible(true);
    begin();
  }

  public void keyPRessed(KeyEvent e){
    int keyCode = e.getKeyCode();
    if (snakeModel.running)
      switch(keyCode){
        case KeyEvent.VK_UP:
          snakeModel.changeDirection(SnakeModel.UP);


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表