j2me实现A*算法尝试(不知道是哪位高人写的,不错)
来源:互联网 发布:阿知和知读音 编辑:程序博客网 时间:2024/04/28 18:25
//4方位的移动方式本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//L.S本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import java.lang.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import javax.microedition.lcdui.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import java.util.Random;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import javax.microedition.rms.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import java.io.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import javax.microedition.midlet.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import javax.microedition.lcdui.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import java.lang.Thread;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public class MainMid extends MIDlet本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
MainPit myScreen;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
boolean first = true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public MainMid()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
myScreen = new MainPit(this);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
protected void destroyApp(boolean unconditional) 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
protected void pauseApp() 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{ 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
protected void startApp() 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Display.getDisplay(this).setCurrent(myScreen);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Display.getDisplay(this).setCurrent(myScreen);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(first)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
try本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Thread myThread = new Thread(myScreen);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
myThread.start();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
catch(Error e)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
destroyApp(false);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
notifyDestroyed();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
first = false;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//游戏结束本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public void exit()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
destroyApp(true);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
notifyDestroyed();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
} 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
class MainPit extends Canvas implements Runnable本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
MainMid myMid;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//按键表本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_NONE = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_UP = -1;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_DOWN = -2;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_LEFT = -3;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_RIGHT = -4;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_FIRE = -5;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_GAM_LEFT = -6;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_GAM_RIGHT = -7;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int hangfire = 300;//延时大小本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Graphics gb;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// private Image bufImg;//缓存本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//屏幕大小本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int nWidth;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int nHeight;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public MainPit(MainMid mid)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
myMid = mid;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
nWidth = getWidth();//屏幕大小本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
nHeight = getHeight();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cw = nWidth / 10;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
ch = nHeight / 10;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// try{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// bufImg = Image.createImage(nWidth,nHeight);//申请缓存空间本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// gb = bufImg.getGraphics();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// }catch(Exception e){}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public void paint(Graphics g)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb = g;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void showBegin()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x0000ff00);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.fillArc(begin_x * cw, begin_y * ch, cw, ch, 0, 360);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int state = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public void run()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
while(true)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
switch(state)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 0:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showMap();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showCursor();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 1:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showMap();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showBegin();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showCursor();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 2:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showMap();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showBegin();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showfather(end_x, end_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showCursor();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
repaint();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
serviceRepaints();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
try{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Thread.sleep(hangfire);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
System.gc();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Thread.yield();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}catch(Exception e){}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int cx,cy;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private void showCursor()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x000000ff);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.drawRect(cx * cw+2,cy*ch+2,cw-4,ch-4);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int cw,ch;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private void showMap()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
clearScreen(0x00ffffff);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i =0 ; i < 10; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int j = 0; j < 10; j++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(moveSpace[j]==1){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x00000000);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.drawRect(j * cw, i * ch, cw, ch);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x00000000);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.fillRect(j * cw, i * ch, cw, ch);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private void clearScreen(int c)//用颜色c刷新屏幕本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(c);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.fillRect(0,0,nWidth,nHeight);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public void keyPressed(int keyCode)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
switch(keyCode)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_UP:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(cy>0)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cy--;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_DOWN:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(cy <9)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cy++;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_LEFT:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(cx > 0)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cx--;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_RIGHT:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(cx < 9)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cx++;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_FIRE:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_GAM_LEFT:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
switch(state)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 0:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
begin_x = cx;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
begin_y = cy;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
state = 1;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 1:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
end_x = cx;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
end_y = cy;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
AAsterisk();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
state = 2;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 2:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
state = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_GAM_RIGHT:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
state = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int moveSpace[][] = {本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,255,255,255,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,255,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,255,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{255,255,255,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,255,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,255,1,1,1,1,1,1,1}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
};本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int openList[][] = new int[100][2];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int closeList[][] = new int[100][2];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int mapInfo[][][] = new int[10][10][6];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int openListLength = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int closeListLength = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int begin_x = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int begin_y = 9;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int end_x = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int end_y = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void addInOpenList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[openListLength][0] = x;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[openListLength][1] = y;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openListLength++;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void addInCloseList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
closeList[closeListLength][0] = x;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
closeList[closeListLength][1] = y;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
closeListLength++;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void removeFromOpenList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < openListLength; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(openList[0] == x&&openList[1] == y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openListLength--;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int j = i; j < openListLength; j++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int k = 0; k < 2; k++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[j][k] = openList[j+1][k];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[openListLength][0] = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[openListLength][0] = 1;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
boolean isInOpenList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < openListLength; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(openList[0] == x&&openList[1] == y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return false;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
boolean isInCloseList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < closeListLength; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(closeList[0] == x&&closeList[1] == y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return false;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void setFather(int x, int y, int fx, int fy)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][0] = fx;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][1] = fy;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int getH(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return Math.abs(x - end_x) + Math.abs(y - end_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int getG(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return mapInfo[mapInfo[y][x][1]][mapInfo[y][x][0]][2] + mapInfo[y][x][5];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int getF(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return mapInfo[y][x][2]+mapInfo[y][x][3];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void getGHF(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][2] = getG(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][3] = getH(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][4] = getF(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
boolean isBalk(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x < 0||x >=10||y < 0||y >=10){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y][x][5] >= 100){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return false;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int theMinFInOpenList()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int min = 100;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int index = -1;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < openListLength; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(min > mapInfo[openList[1]][openList[0]][4]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
min = mapInfo[openList[1]][openList[0]][4];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
index = i;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return index;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void AAsterisk()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
closeListLength = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openListLength = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < 10; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int j = 0; j < 10; j++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][5] = moveSpace[j];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][0] = j;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][1] = i;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][2] = Math.abs(i - begin_y) + Math.abs(j - begin_x);;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][3] = Math.abs(i - end_y) + Math.abs(j - end_x);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][4] = 100;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[begin_y][begin_x][2] = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInCloseList(begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println(begin_x+" "+begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println("0");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(begin_x + 1,begin_y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(begin_x + 1,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(begin_x + 1,begin_y,begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(begin_x + 1,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println("1");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(begin_x - 1,begin_y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(begin_x - 1,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(begin_x - 1,begin_y,begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(begin_x - 1,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println("2");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(begin_x,begin_y + 1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(begin_x,begin_y + 1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(begin_x,begin_y + 1,begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(begin_x,begin_y + 1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println("3");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(begin_x,begin_y - 1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(begin_x,begin_y - 1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(begin_x,begin_y - 1,begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(begin_x,begin_y - 1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
AAsterisk_t();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void AAsterisk_t()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int minIndex;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int x, y;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
minIndex = theMinFInOpenList();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(minIndex == -1){return;}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
x = openList[minIndex][0];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
y = openList[minIndex][1];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInCloseList(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
removeFromOpenList(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(x + 1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isInCloseList(x + 1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(isInOpenList(x + 1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y][x + 1][2] > getG(x + 1,y)+mapInfo[y][x + 1][5]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x + 1,y,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x + 1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(x + 1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x + 1,y,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x + 1 == end_x&&y == end_y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x + 1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(x - 1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isInCloseList(x-1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(isInOpenList(x-1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y][x-1][2] > getG(x-1,y)+mapInfo[y][x][5]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x-1,y,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x-1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(x-1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x-1,y,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x - 1 == end_x&& y == end_y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x-1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(x,y+1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isInCloseList(x,y+1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(isInOpenList(x,y+1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y+1][x][2] > getG(x,y+1) +mapInfo[y+1][x][5]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x,y+1,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x,y+1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(x,y+1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x,y+1,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x == end_x&&y + 1 == end_y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x,y+1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(x,y-1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isInCloseList(x,y-1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(isInOpenList(x,y-1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y-1][x][2] >getG(x,y-1)+mapInfo[y-1][x][5]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x,y-1,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x,y-1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(x,y-1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x,y-1,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x == end_x&& y - 1== end_y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x,y-1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
AAsterisk_t();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void showfather(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x == begin_x&&y == begin_y){System.out.println();return;}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
System.out.print("("+mapInfo[y][x][0]+","+mapInfo[y][x][1]+")");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int fx = mapInfo[y][x][0];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int fy = mapInfo[y][x][1];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x00ff0000);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.fillArc(fx * cw, fy * ch, cw,ch, 0, 360);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showfather(mapInfo[y][x][0],mapInfo[y][x][1]);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//L.S本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import java.lang.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import javax.microedition.lcdui.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import java.util.Random;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import javax.microedition.rms.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import java.io.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import javax.microedition.midlet.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import javax.microedition.lcdui.*;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
import java.lang.Thread;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public class MainMid extends MIDlet本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
MainPit myScreen;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
boolean first = true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public MainMid()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
myScreen = new MainPit(this);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
protected void destroyApp(boolean unconditional) 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
protected void pauseApp() 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{ 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
protected void startApp() 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Display.getDisplay(this).setCurrent(myScreen);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Display.getDisplay(this).setCurrent(myScreen);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(first)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
try本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Thread myThread = new Thread(myScreen);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
myThread.start();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
catch(Error e)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
destroyApp(false);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
notifyDestroyed();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
first = false;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//游戏结束本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public void exit()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
destroyApp(true);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
notifyDestroyed();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
} 本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
class MainPit extends Canvas implements Runnable本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
MainMid myMid;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//按键表本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_NONE = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_UP = -1;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_DOWN = -2;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_LEFT = -3;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_RIGHT = -4;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_FIRE = -5;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_GAM_LEFT = -6;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private static final byte KEY_GAM_RIGHT = -7;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int hangfire = 300;//延时大小本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Graphics gb;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// private Image bufImg;//缓存本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//屏幕大小本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int nWidth;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int nHeight;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public MainPit(MainMid mid)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
myMid = mid;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
nWidth = getWidth();//屏幕大小本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
nHeight = getHeight();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cw = nWidth / 10;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
ch = nHeight / 10;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// try{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// bufImg = Image.createImage(nWidth,nHeight);//申请缓存空间本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// gb = bufImg.getGraphics();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
// }catch(Exception e){}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public void paint(Graphics g)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb = g;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void showBegin()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x0000ff00);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.fillArc(begin_x * cw, begin_y * ch, cw, ch, 0, 360);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int state = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public void run()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
while(true)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
switch(state)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 0:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showMap();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showCursor();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 1:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showMap();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showBegin();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showCursor();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 2:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showMap();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showBegin();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showfather(end_x, end_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showCursor();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
repaint();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
serviceRepaints();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
try{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Thread.sleep(hangfire);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
System.gc();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
Thread.yield();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}catch(Exception e){}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int cx,cy;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private void showCursor()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x000000ff);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.drawRect(cx * cw+2,cy*ch+2,cw-4,ch-4);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int cw,ch;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private void showMap()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
clearScreen(0x00ffffff);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i =0 ; i < 10; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int j = 0; j < 10; j++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(moveSpace[j]==1){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x00000000);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.drawRect(j * cw, i * ch, cw, ch);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x00000000);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.fillRect(j * cw, i * ch, cw, ch);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private void clearScreen(int c)//用颜色c刷新屏幕本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(c);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.fillRect(0,0,nWidth,nHeight);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
public void keyPressed(int keyCode)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
switch(keyCode)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_UP:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(cy>0)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cy--;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_DOWN:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(cy <9)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cy++;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_LEFT:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(cx > 0)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cx--;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_RIGHT:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(cx < 9)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
cx++;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_FIRE:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_GAM_LEFT:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
switch(state)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 0:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
begin_x = cx;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
begin_y = cy;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
state = 1;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 1:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
end_x = cx;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
end_y = cy;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
AAsterisk();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
state = 2;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case 2:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
state = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
case KEY_GAM_RIGHT:本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
state = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int moveSpace[][] = {本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,255,255,255,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,255,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,255,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{255,255,255,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,255,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,1,1,1,1,1,1,1,1},本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{1,1,255,1,1,1,1,1,1,1}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
};本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int openList[][] = new int[100][2];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int closeList[][] = new int[100][2];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int mapInfo[][][] = new int[10][10][6];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int openListLength = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
private int closeListLength = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int begin_x = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int begin_y = 9;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int end_x = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int end_y = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void addInOpenList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[openListLength][0] = x;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[openListLength][1] = y;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openListLength++;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void addInCloseList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
closeList[closeListLength][0] = x;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
closeList[closeListLength][1] = y;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
closeListLength++;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void removeFromOpenList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < openListLength; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(openList[0] == x&&openList[1] == y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openListLength--;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int j = i; j < openListLength; j++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int k = 0; k < 2; k++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[j][k] = openList[j+1][k];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[openListLength][0] = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openList[openListLength][0] = 1;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
break;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
boolean isInOpenList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < openListLength; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(openList[0] == x&&openList[1] == y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return false;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
boolean isInCloseList(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < closeListLength; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(closeList[0] == x&&closeList[1] == y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return false;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void setFather(int x, int y, int fx, int fy)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][0] = fx;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][1] = fy;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int getH(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return Math.abs(x - end_x) + Math.abs(y - end_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int getG(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return mapInfo[mapInfo[y][x][1]][mapInfo[y][x][0]][2] + mapInfo[y][x][5];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int getF(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return mapInfo[y][x][2]+mapInfo[y][x][3];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void getGHF(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][2] = getG(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][3] = getH(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[y][x][4] = getF(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
boolean isBalk(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x < 0||x >=10||y < 0||y >=10){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y][x][5] >= 100){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return true;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return false;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int theMinFInOpenList()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int min = 100;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int index = -1;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < openListLength; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(min > mapInfo[openList[1]][openList[0]][4]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
min = mapInfo[openList[1]][openList[0]][4];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
index = i;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return index;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void AAsterisk()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
closeListLength = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
openListLength = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int i = 0; i < 10; i++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
for(int j = 0; j < 10; j++){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][5] = moveSpace[j];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][0] = j;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][1] = i;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][2] = Math.abs(i - begin_y) + Math.abs(j - begin_x);;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][3] = Math.abs(i - end_y) + Math.abs(j - end_x);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[j][4] = 100;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
mapInfo[begin_y][begin_x][2] = 0;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInCloseList(begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println(begin_x+" "+begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println("0");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(begin_x + 1,begin_y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(begin_x + 1,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(begin_x + 1,begin_y,begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(begin_x + 1,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println("1");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(begin_x - 1,begin_y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(begin_x - 1,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(begin_x - 1,begin_y,begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(begin_x - 1,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println("2");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(begin_x,begin_y + 1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(begin_x,begin_y + 1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(begin_x,begin_y + 1,begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(begin_x,begin_y + 1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
//System.out.println("3");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(begin_x,begin_y - 1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(begin_x,begin_y - 1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(begin_x,begin_y - 1,begin_x,begin_y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(begin_x,begin_y - 1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
AAsterisk_t();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void AAsterisk_t()本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int minIndex;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int x, y;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
minIndex = theMinFInOpenList();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(minIndex == -1){return;}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
x = openList[minIndex][0];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
y = openList[minIndex][1];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInCloseList(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
removeFromOpenList(x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(x + 1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isInCloseList(x + 1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(isInOpenList(x + 1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y][x + 1][2] > getG(x + 1,y)+mapInfo[y][x + 1][5]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x + 1,y,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x + 1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(x + 1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x + 1,y,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x + 1 == end_x&&y == end_y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x + 1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(x - 1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isInCloseList(x-1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(isInOpenList(x-1,y)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y][x-1][2] > getG(x-1,y)+mapInfo[y][x][5]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x-1,y,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x-1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(x-1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x-1,y,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x - 1 == end_x&& y == end_y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x-1,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(x,y+1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isInCloseList(x,y+1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(isInOpenList(x,y+1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y+1][x][2] > getG(x,y+1) +mapInfo[y+1][x][5]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x,y+1,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x,y+1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(x,y+1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x,y+1,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x == end_x&&y + 1 == end_y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x,y+1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isBalk(x,y-1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(!isInCloseList(x,y-1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(isInOpenList(x,y-1)){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(mapInfo[y-1][x][2] >getG(x,y-1)+mapInfo[y-1][x][5]){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x,y-1,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x,y-1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
else{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
addInOpenList(x,y-1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
setFather(x,y-1,x,y);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x == end_x&& y - 1== end_y){本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
return;本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
getGHF(x,y-1);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
AAsterisk_t();本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
void showfather(int x, int y)本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
{本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
if(x == begin_x&&y == begin_y){System.out.println();return;}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
System.out.print("("+mapInfo[y][x][0]+","+mapInfo[y][x][1]+")");本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int fx = mapInfo[y][x][0];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
int fy = mapInfo[y][x][1];本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.setColor(0x00ff0000);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
gb.fillArc(fx * cw, fy * ch, cw,ch, 0, 360);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
showfather(mapInfo[y][x][0],mapInfo[y][x][1]);本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
本帖子来源于无线论坛[http://www.j2me.com.cn/bbs]
}
- j2me实现A*算法尝试(不知道是哪位高人写的,不错)
- 不知道是哪位java大神写给女神的情书~~~~~
- static的应用原理(不知道哪位大神写的)
- 哪位高手知道是哪的错误?
- 哪位高人知道这个程序是用什么编的啊?(曾获得奖项的程序)我非常想学它
- flex成品作--不知道有哪位大神能看懂是干嘛的
- 有哪位大神知道这个地图的框架是怎么实现的
- 发现在系统中有好多写得很好的代码,也不知道是哪位前辈留下来的.整理一下...
- 『开心乐园』[开心调查]转一个超级灌水贴 不知道是哪位大师的手笔 厉害(转载)
- 有哪位高人知道采取什么方法可以测试 视频网站的视频播放速度,有源代码更好
- 高人写的
- java做的iphone推送,水平有限,单个推送还可以,上万的推送写的线程不知道怎么样,高人可一指点下。
- 谷歌音乐搜索模式是个不错的尝试
- 不知道写的是什么?
- 函数内部定义字符串数组和指针指向常量字符串的不同(哪位高人解释一下为什么不同),多谢
- 【请教】微信朋友圈点赞,评论功能是怎么实现的呢?在做类似效果,有哪位知道的还请指教?
- [VB.NET]不知道有没有高人做过这么智能化的软件
- Mac OS这是怎么了?哪位牛人知道的解释一下。
- 碰到不知道的方法(更新中)
- jdbc与sql的连接问题
- JAVA实现拼图游戏
- JS相关开发工具
- 模糊:让你的代码远离偷窥之眼
- j2me实现A*算法尝试(不知道是哪位高人写的,不错)
- 脚本载入
- 如何登录MySQL数据库
- VS2005SP1安装加速
- 深度技术 GHOSTXP V6.0 快速装机个人版 (NTFS格式)
- 中文乱码问题原理及解决方案(转载自DinStone的博客)
- solaris迅速查找手册
- Total Commander 我推荐Shanny
- JavaMail API