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

java中的贪食蛇例程

最近要重新学习Java,找个例子来实践,在网上找了很多例程来看,自己重新编写了一个贪食蛇的例子,记在这里。
1.SnakeModel.java
import java.util.Observable;
import java.util.LinkedList;
import java.util.Arrays;
import java.util.Random;
import javax.swing.*;
//Observable类一般代表数据,实现接口Runnable表明创建一个进程
public class SnakeModel extends Observable implements Runnable {

boolean[][] matrix; //指示位置上是否有蛇体或食物;
LinkedList nodeArray = new LinkedList(); //蛇体

Node food;
int maxX; //X轴边线,即为画布中X轴个数
int maxY; //y轴边线,即为画布中Y轴个数
int direction = UP; //蛇运行的方向,初始为向上(UP)
boolean isRunning = false; //运行状态

int timeInterval = 200; //时间间隔,毫秒级
double speedChangeRate = 0.75; //每次的速度变化率
boolean isPaused = false ;//暂停标志

int score = 0; //得分
int countMove = 0; //吃到食物前移动的次数

public static final int UP = 2;
public static final int DOWN =4;
public static final int LEFT= 1;
public static final int RIGHT =3;

public SnakeModel(int maxX, int maxY){

this.maxX = maxX;
this.maxY = maxY;
reset();
}

public void reset(){

direction = SnakeModel.UP;
timeInterval = 200;
isPaused = false;
score = 0;
countMove = 0;

//初始化矩阵
matrix = new boolean[maxX][];
for(int i = 0; i < maxX; ++i){
//关于数组的新建
matrix[i] = new boolean[maxY];
Arrays.fill(matrix[i],false);
}

//初始化蛇体
//初始蛇体长度按照横轴的长度,若横轴>20,则蛇体长度为10,否则为横轴一半
int initArrayLength = maxX > 20 ? 10 : maxX / 2;
nodeArray.clear();
for(int i = 0; i < initArrayLength; ++i){
int x = maxX / 2;
int y = maxY / 2;
nodeArray.addLast(new Node(x, y));
matrix[x][y] = true;
}

//创建食物
food = createFood();
matrix[food.x][food.y] = true;
}

public void changeDirection(int newDirection){
//改变方向不能与原方向同向或反向
if((direction & 1


相关文档:

JAVA中数据库连接池的动态实现

     (一)程序开发,存在很多问题:首先,每一次Web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。这个时间对于一次或几次数据库操作,或许感觉不出系统有多大的开销。可是对于现在的Web应用,尤其是大型电子商务网站,同时有几 ......

RedHat AS4配置Java环境

到Sun网站下载自解压安装包jdk-xxxx.bin
安装:
[root@RHEL4 JDK-1.5.0.06]# chmod +x jdk-xxxx.bin
[root@RHEL4 JDK-1.5.0.06]# ./jdk-xxxx.bin
选择安装位置,
J2SDK安装目录: /usr/local/jdk
配置Java环境变量:
在 ~/.bash_profile 里加入下列几行环境变量即可:
export JAVA_HOME=/usr/local/jdk
export PAT ......

关于java的集合类,以及HashMap中Set的用法!


关于java的集合类,以及HashMap中Set的用法!
2005-10-22 14:47:43 Sat | 阅读(547)次
package com.tiantian;
import java.util.*;
public class JAVAContainer {
     public static void main(String[] args) throws Exception {
         //&nbs ......

java列出某文件夹下的所有文件


File   f=new   File("DerectoryName");      
  String   []results=f.list();   
  
import java.io.*;    
  public class listFile    
  {  &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号