易截截图软件、单文件、免安装、纯绿色、仅160KB

经典游戏贪食蛇的java实现


学习了线程,向量泛型编程,可以通过一个实例来应用所学知识,本课实现了经典游戏贪食蛇,自认为结构还算合理于2009年8月12日,16:05分
实现贪食蛇的思路
 1。首先定义窗口200X400 ,实现控制1个矩形方块20X20
 2。通过按键控制方块移动
 3。实现线程控制方块移动每次一格(20X20),通过按键改变方向
 4.实现在窗口中随机出现可以吃的小块 作为要是20的倍数
 5.实现方块和可以吃的小块碰撞
 6.将蛇的身体每一块定义为Vector,有每块对应一个对象
   Node{
     int x;
     int y;
     int nextDir;
   }
 7。实现死亡判定和分数判定
第一个类:
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class SnakeFrame extends JFrame implements KeyListener{
   public JPanel gamePanel;//游戏面板
   public Vector<Node>allNode=new Vector<Node>();  // 所有结点
   class Node{
    int x;
    int y;
    int nextDir;
    public Node(int x,int y,int d)
    {
     this.x=x;
     this.y=y;
     this.nextDir=d;
    }
   };
   public static final int S_UP=1;
   public static final int S_DOWN=2;
   public static final int S_LEFT=3;
   public static final int S_RIGHT=4;
   public static final int S_STOP=-1;
   //头节点
   public  Node head=new Node(80,80,SnakeFrame.S_LEFT);
   public  Node eatNode;
   public Random rand=new Random();
   public SnakeFrame()
   {  
    this.setBounds(0, 0, 200, 400);
    this.setTitle("贪食蛇");
    this.setClosed(


相关文档:

java使用rocksaw和vserv tcpip实现基于ICMP的Ping功能

一:准备 www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
 1.  build vserv-tcpip-0.9.2-src
      在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......

JAVA 网上拾遗

public String makeStars(int size, char ch) {
    if(size < 1) {
        throw new IllegalArgumentException("size must be greater than 0");
    }
    char[] chs = new char[size];
    for(int i = 0; ......

Java中的值传递和地址传递

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestClass {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO 自動生成されたメソッド?スタブ
  List li = ......

java笔试

01.  说出ArrayList,Vector的区别,HashMap和Hashtable的区别。
 
02. final, finally, finalize的区别。 
 
03.   abstract class和interface有什么区别?
 
04.   什么时候用assert。 
 
05.   GC是什么? 为什么要有GC?&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号