龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

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

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
Java新手,简单的吞食蛇游戏,一边写一边查书,写了半天才弄出来 没法把jar文件附在文章后面,想试试的人自己编译一下吧 有意见尽管提,高手多多指导,不过骂人就算了 [原文地址
   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);
  
  

精彩图集

赞助商链接