首先感謝yinnowl提供的文章MIDP1.0-五子棋1.1,我是一個J2ME的初學者,看了yinnowl的這篇文章后,有些自己的想法,所以就冒昧和大家分享,請大家批評指正。
我的思路是把MIDP1.0-五子棋1.1改成在MIDP2.0上實現,同時感覺原文在判定勝敗的時候比較慢做了下優化,原文鏈接請點擊這里。
關于具體的解釋,原文已經都有,我這也不敢班門弄斧,只給出我自己用到的4個類:
1.MIDlet 主類Gobang.java
package hero;
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Image;
public class Gobang
extends MIDlet
{
startForm startform;
PRivate Display dispaly;
public static Gobang instance;
public Gobang() {
instance = this;
dispaly = Display.getDisplay(this);
}
protected void startApp() {
startform = new startForm();
dispaly.setCurrent(startform);
}
protected void pauseApp() {
}
protected void destroyApp(boolean uncondition) {
}
protected void quitApp(){
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}
//讀取并添加圖片
public static Image createImage(String name) {
Image aImage = null;
try {
aImage = Image.createImage(name);
}
catch (Exception e) {
}
return aImage;
}
}
2.棋子類 Chesses .java
package hero;
public class Chesses {
boolean isPlayer1;
public Chesses(){
}
public Chesses(boolean isPlayer1) {
this.isPlayer1=isPlayer1;
}
}
3.圖形加載類 startForm.java (一個過渡界面)
package hero;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.ImageItem;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
public class startForm extends Form implements CommandListener {
private static Command exitCmd;
private static Command okCmd;
private Image startImage;
protected Gobang gobang;
private GobangCanvas gobangcanvas;
//顯示程序的啟動畫面//
public startForm() {
super("");
okCmd = new Command("進入", Command.OK, 1);
exitCmd = new Command("離開", Command.EXIT, 1);
新聞熱點
疑難解答