//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]
}