易截截图软件、单文件、免安装、纯绿色、仅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类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

Java虚拟机基础:堆与栈概念详解

Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
基本类型包括:byte, short, int, long, char, float, double ......

各种排序算法JAVA实现

public class Sort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arry = { 19, 10, 5, 45, 100, 30, 35, 29 };
int[] sortArry = mergeSort(arry);
for (int i = 0; i < sortArry.le ......

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

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

向学JAVA的新人透点绝密!

好久了,都想向学习JAVA的新人写点东西,因为我实在看不下去了,看不下去很多误导JAVA学习者的观点,遍及天下!网络让好的东西流行,可是往往也让错的东西出现的次数多了变的好像正确了,三人成虎,指鹿为马似乎在网络里更加容易发生,好了废话不说,请看我细细向你道来。
 
  秘密一,学习JAVA好未必可以 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号