Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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»ñÈ¡µ±Ç°Ê±¼ä£¨×ªÔØ£©


ÓÐÁ½ÖÖ·½·¨£º
·½·¨Ò»£ºÓÃjava.util.DateÀàÀ´ÊµÏÖ£¬²¢½áºÏjava.text.DateFormatÀàÀ´ÊµÏÖʱ¼äµÄ¸ñʽ»¯£¬¿´ÏÂÃæ´úÂ룺
import java.util.*;
import java.text.*;
//ÒÔÏÂĬÈÏʱ¼äÈÕÆÚÏÔʾ·½Ê½¶¼ÊǺºÓïÓïÑÔ·½Ê½
//Ò»°ãÓïÑÔ¾ÍĬÈϺºÓï¾Í¿ÉÒÔÁË£¬Ê±¼äÈÕÆÚµÄ¸ñʽĬÈÏΪMEDIUM·ç¸ñ£¬±ÈÈ磺2008-6-16 20:54:53
//ÒÔÏÂÏÔʾµÄÈ ......

JAVAÖÐÊý¾Ý¿âÁ¬½Ó³ØµÄ¶¯Ì¬ÊµÏÖ

     (Ò»)³ÌÐò¿ª·¢£¬´æÔںܶàÎÊÌâ:Ê×ÏÈ£¬Ã¿Ò»´ÎWebÇëÇó¶¼Òª½¨Á¢Ò»´ÎÊý¾Ý¿âÁ¬½Ó¡£½¨Á¢Á¬½ÓÊÇÒ»¸ö·ÑʱµÄ»î¶¯£¬Ã¿´Î¶¼µÃ»¨·Ñ0.05s¡«1sµÄʱ¼ä£¬¶øÇÒϵͳ»¹Òª·ÖÅäÄÚ´æ×ÊÔ´¡£Õâ¸öʱ¼ä¶ÔÓÚÒ»´Î»ò¼¸´ÎÊý¾Ý¿â²Ù×÷£¬»òÐí¸Ð¾õ²»³öϵͳÓжà´óµÄ¿ªÏú¡£¿ÉÊǶÔÓÚÏÖÔÚµÄWebÓ¦Óã¬ÓÈÆäÊÇ´óÐ͵ç×ÓÉÌÎñÍøÕ¾£¬Í¬Ê±Óм¸ ......

ʹÓÃJNI¼¼ÊõʵÏÖJAVA³ÌÐòµ÷ÓÃdll

JAVAµÄ¿çƽ̨µÄÌØÐÔÉîÊÜjava³ÌÐòÔ±ÃǵÄϲ°®,µ«ÕýÊÇÓÉÓÚËüΪÁËʵÏÖ¿çÆ½Ì¨µÄÄ¿µÄ,ʹµÃËüºÍ±¾µØ»úÆ÷µÄ¸÷ÖÖÄÚ²¿ÁªÏµ±äµÃºÜÉÙ,´ó´óÔ¼ÊøÁËËüµÄ¹¦ÄÜ,±ÈÈçÓëһЩӲ¼þÉ豸ͨÐÅ,ÍùÍùÒª»¨·ÑºÜ´óµÄ¾«Á¦È¥Éè¼ÆÁ÷³Ì±àд´úÂëÈ¥¹ÜÀíÉ豸¶Ë¿Ú,¶øÇÒÓÐһЩÉ豸³§ÉÌÌṩµÄÓ²¼þ½Ó¿ÚÒѾ­¾­¹ýÒ»¶¨µÄ·â×°ºÍ´¦Àí,²»ÄÜÖ±½ÓʹÓÃjava³ÌÐòͨ¹ý¶Ë¿ÚºÍÉè±¸Í ......

JAVAµ÷DLL,.JNI¼¼Êõʵ¼ù

¼øÓÚÅÀ³æ¿ª·¢ÐèÒªÒ»¸öͼƬ½âÎö¹¦Äܵĺ¯Êý£¬µ½ÍøÂçÉϲéÕÒÁËһЩjni·½ÃæµÄÄÚÈÝ£¬²¢×öÁË×Ô¼ºµÄһЩÐ޸쬾ßÌåÈçÏ£º
   ĿǰjavaÓëdll½»»¥µÄ¼¼ÊõÖ÷ÒªÓÐ3ÖÖ£ºjni£¬jawinºÍjacob¡£Jni£¨Java Native Interface£©ÊÇsunÌṩµÄjavaÓëϵͳÖеÄÔ­Éú·½·¨½»»¥µÄ¼¼Êõ£¨ÔÚwindows\linuxϵͳÖУ¬ÊµÏÖjavaÓënative method»¥µ÷£©¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ