网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.扩展JAAS.
.Java手机软件图形界面API之低级G.
.Add 方法 (Dictionary).
.Java环境配置的Classpath使用故障.
.[JAVA100例]068、使用DOM解析XML.
.课程介绍(2):SL-210 向Java面向对.
.如何封锁您的(或打开别人的) J.
.Palm J2ME串行通讯程序编写与调试.
.当MySQL集群时, JDBC路径的使用方.
.在 java 里面调用 CUI 程序的方法.
.为何要使用 UML?.
.VJ6.0的使用方法(5)Applet编写调.
.实战角度比较EJB2和EJB3的异同.
.学习JAVA的笔记(一).
.发掘身份证编号的潜力.
.如何用servlet打开非HTML格式的文.
.java最佳学习途径.
.Java基础知识:谈谈简单Hibernat.
.使用AWT将Graphics对象转换为Ima.
.Java在手机平台上遭遇尴尬.

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

发表日期:2008-1-5


   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);

上一篇:ActionForm的生命周期浅探 人气:721
下一篇:遍历目录实现删除,取得大小及深度 人气:832
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐