⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flowcontrol.java

📁 一个java 游戏框架 一个java 游戏框架
💻 JAVA
字号:
import javax.microedition.lcdui.*; 
import javax.microedition.midlet.*; 
import java.util.*; 
public class FlowControl extends MIDlet{ 
  boolean init = true; 
  public FlowControl(){ 
   Navigator.display = Display.getDisplay(this); 
   Navigator.midlet = this; 
 } 
  protected void startApp(){ 
   Navigator.current = Navigator.MAIN_SCREEN; 
   Navigator.show(null); 
   if(init){ 
    Alert splash = new Alert("启动画面"); 
    splash.setType(AlertType.CONFIRMATION); //用户确认类型
    splash.setTimeout(5000); 
    Navigator.display.setCurrent(splash); 
    init = false; 
   } 
 } 
 protected void pauseApp(){} 
 protected void destroyApp(boolean u){} 
} 
class Navigator{ 
 final public static int MAIN_SCREEN = 1; 
 final public static int GAME_SCREEN = 2; 
 final public static int SET_SCREEN = 3; 
 final public static int SET_HELP_SCREEN = 4; 
 final public static int GAME_HELP_SCREEN = 5; 
 public static MIDlet midlet; 
 public static Display display; 
 public static int current = 1; 
public static void show(Object obj){ 
 switch(current){ 
  case MAIN_SCREEN: 
   display.setCurrent(MainScreen.getInstance()); 
   break; 
  case GAME_SCREEN: 
   display.setCurrent(GameScreen.getInstance()); 
   break; 
  case SET_SCREEN: 
   display.setCurrent(SetScreen.getInstance()); 
   break; 
  case SET_HELP_SCREEN: 
   display.setCurrent(new HelpScreen((String)obj)); 
   break; 
  case GAME_HELP_SCREEN: 
   display.setCurrent(new HelpScreen((String)obj)); 
   break; 
 } 
} 
public static void flow(String cmd){ 
 switch(current){ 
   case MAIN_SCREEN: 
    if(cmd.equals("开始")){ 
     current = GAME_SCREEN; 
     show(null); 
    }else if(cmd.equals("设置")){ 
     current = SET_SCREEN; 
     show(null); 
    }else if(cmd.equals("版权声明")){ 
     display.setCurrent(CopyrightScreen.getInstance()); 
     show(null); 
    }else if(cmd.equals("离开")){ 
      midlet.notifyDestroyed(); 
    } 
    break; 
  case GAME_SCREEN: 
    if(cmd.equals("规则介绍")){ 
      current = GAME_HELP_SCREEN; 
      show("游戏规则介绍"); 
    }else if(cmd.equals("返回")){ 
      current = MAIN_SCREEN; 
      show(null); 
    } 
    break; 
  case SET_SCREEN: 
     if(cmd.equals("设置说明")){ 
       current = SET_HELP_SCREEN; 
       show("设置方式"); 
     }else if(cmd.equals("返回")){ 
        current = MAIN_SCREEN; 
        show(null); 
     } 
    break; 
 
  case GAME_HELP_SCREEN: 
    if(cmd.equals("返回")){ 
      current = GAME_SCREEN; 
      show(null); 
    } 
    break; 
  case SET_HELP_SCREEN: 
    if(cmd.equals("返回")){ 
     current = SET_SCREEN; 
     show(null); 
   } 
   break; 
} 
} 
} 
//帮助说明界面 Singleton模式 
class HelpScreen extends Form implements CommandListener{ 
  public HelpScreen(String c){ 
   super("帮助说明"); 
   append(c); 
   addCommand(new Command("返回",Command.OK,1)); 
   setCommandListener(this); 
  } 
  public void commandAction(Command c,Displayable d){ 
    Navigator.flow(c.getLabel()); 
  } 
} 
//版权界面 Singleton模式 
class CopyrightScreen extends Alert{ 
  private static Displayable instance; 
  synchronized public static Displayable getInstance(){ 
   if(instance == null){ 
     instance = new CopyrightScreen(); 
   } 
  return instance; 
  } 
  private CopyrightScreen(){ 
   super("版权声明"); 
   setString("此应用程序之版权归NIIT教研室所有"); 
   setType(AlertType.INFO); 
   setTimeout(Alert.FOREVER); 
} 
} 
//主界面 Singleton模式 
class MainScreen extends List implements CommandListener{ 
 private static Displayable instance; 
 synchronized public static Displayable getInstance(){ 
 if(instance == null){ 
  instance = new MainScreen(); 
 } 
 return instance; 
 } 
 private MainScreen(){ 
  super("主菜单",List.IMPLICIT); 
  append("开始",null); 
  append("设置",null); 
  append("版权声明",null); 
  append("离开",null); 
  setCommandListener(this); 
 } 
public void commandAction(Command c,Displayable d){ 
  String cmd = getString(getSelectedIndex()); 
  Navigator.flow(cmd); 
} 
} 
//设置主界面 Singleton模式 
class SetScreen extends Form implements CommandListener{ 
  private static Displayable instance; 
  TextField url = null; 
  Gauge volume = null; 
  synchronized public static Displayable getInstance(){ 
   if(instance == null){ 
    instance = new SetScreen(); 
   } 
   return instance; 
  } 
  private SetScreen(){ 
   super("设置"); 
   url = new TextField("请输入服务器的设置","socket://127.0.0.1:99",40,TextField.URL); 
   append(url); 
   volume = new Gauge("音量",true,10,3); 
   append(volume); 
   addCommand(new Command("设置说明",Command.HELP,1)); 
   addCommand(new Command("返回",Command.BACK,1)); 
   setCommandListener(this); 
 } 
public void commandAction(Command c,Displayable d){ 
  Navigator.flow(c.getLabel()); 
} 
} 
//游戏主界面 Singleton模式 
class GameScreen extends Form implements CommandListener{ 
  private static Displayable instance; 
  TextField url = null; 
  Gauge volume = null; 
  synchronized public static Displayable getInstance(){ 
   if(instance == null){ 
    instance = new GameScreen(); 
   } 
   return instance; 
  } 
  private GameScreen(){ 
   super("游戏"); 
   addCommand(new Command("规则介绍",Command.HELP,1)); 
   addCommand(new Command("返回",Command.BACK,1)); 
   setCommandListener(this); 
  } 
 public void commandAction(Command c,Displayable d){ 
    Navigator.flow(c.getLabel()); 
 } 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -