📄 fivelink.java
字号:
package org.javagarden.j2me.fivelink.client;
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;
import javax.microedition.midlet.MIDlet;
/**
* 五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为"連珠",英译为"Renju",英文称
* 之为"Gobang"或"FIR"(Five in a Row的缩写),亦有"连五子"、"五子连"、"串珠"、"五目"、
* "五目碰"、"五格"等多种称谓。
* <p>
* 五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征
* "短、平、快",又有古典哲学的高深学问"阴阳易理";它既有简单易学的特性,为人民群众所喜闻乐见,
* 又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有"场"的
* 概念,亦有"点"的连接。它是中西文化的交流点,是古今哲理的结晶。
* <p>
* 五子棋主控程序。
* @author Turbo Chen
*/
public class FiveLink
extends MIDlet
implements CommandListener
{
private FiveLinkBoard chessBoard;
private About about;
private Help help;
private Splash splash;
private Display display;
private Command menuCmd;
private List menuItems;
public FiveLink()
{
display = Display.getDisplay(this);
menuCmd = new Command("Menu",Command.EXIT,2);
menuItems = new List("Menu",Choice.IMPLICIT);
menuItems.setCommandListener(this);
menuItems.append("Return Game",null);
menuItems.append("New Game",null);
menuItems.append("Help",null);
menuItems.append("About",null);
menuItems.append("Exit",null);
about = new About();
about.addCommand(menuCmd);
about.setCommandListener(this);
help = new Help("Help");
help.addCommand(menuCmd);
help.setCommandListener(this);
splash = new Splash();
chessBoard = new FiveLinkBoard();
chessBoard.addCommand(menuCmd);
chessBoard.setCommandListener(this);
chessBoard.newGame();
}
public void startApp()
{
display.setCurrent(splash);
try
{
Thread.sleep(2000);
}catch (InterruptedException e)
{
}
display.setCurrent(chessBoard);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable s)
{
if (c == menuCmd)
{
if ( chessBoard.model.isGameOver() )
menuItems.getSelectedFlags(new boolean[]{false,true,true,true,true});
else
menuItems.getSelectedFlags(new boolean[]{true,true,true,true,true});
display.setCurrent(menuItems);
}else
{
switch(menuItems.getSelectedIndex())
{
case 0:
display.setCurrent(this.chessBoard);
break;
case 1:
chessBoard.newGame();
display.setCurrent(this.chessBoard);
break;
case 2:
display.setCurrent(help);
break;
case 3:
display.setCurrent(about);
break;
case 4:
notifyDestroyed();
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -