易截截图软件、单文件、免安装、纯绿色、仅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窗口下进入 ......

Proxy模式以及java动态代理实现

一. Proxy模式定义:
为其他对象提供一种代理以控制这个对象的访问.
二.模式解说
Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上.
在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),
......

JAVA 里volatile关键字是什么意思?

Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离 ......

使用Java实现链表

题目:使用Java实现链表
思路:
链表的特点:链表的的元素之间通过指针连接起来。通常有一个头指针指向第一个元素,通过第一个元素可以访问到其他的元素。
链表中数据如何存储:链表中的每个元素应该由表示数据的域和指向其他元素的指针组成。
链表的常用操作:创建链表、在链表中添加元素(在最后添加或者在某个具体的 ......

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号