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

📄 controller.java

📁 系统是一个用JAVA来实现的潜艇大战游戏。厘米那包括可执行源程序
💻 JAVA
字号:
/* 
 * 
 * 创建日期 2006-5-17
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package net.wangsong;

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;

import javax.microedition.midlet.MIDletStateChangeException;

/**
 * @author user
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class Controller {
    private SubMIDlet subMIDlet;
    private SubCanvas subCanvas;
    private MenuUI    menuUI;
    
    private Display   display;
    
    public static final byte EVENT_START = 01; 
    public static final byte EVENT_ABOUT = 02; 
    public static final byte EVENT_EXIT  = 03; 
    
    public static final byte EVENT_MENU           = 101;
    public static final byte EVENT_MENU_GAMEOVER  = 102;
    public static final byte EVENT_NEXTROUND      = 103;
    
    public Controller(SubMIDlet subMIDlet){
        this.subMIDlet = subMIDlet;
        
        display   = Display.getDisplay(subMIDlet);
        
        menuUI    = new MenuUI(this);
        
        this.EventHandler(EVENT_MENU);
        
    }
    
    public void EventHandler(byte eventID){
        
        switch(eventID){
        
            case EVENT_START:{
                //开始游戏
                if(subCanvas == null){
                    subCanvas = new SubCanvas(this);
                }else{
                    
                }
                display.setCurrent(subCanvas);
                break;
            }
            
            case EVENT_ABOUT:{
                //说明文件
                Alert alert = new Alert("关于", "本设计为2006届一个毕业设计,游戏使用说明见文档。开发者:王劲松,蒋洪芳。指导老师:李健军.", null, AlertType.INFO);
                alert.setTimeout(3000);
                display.setCurrent(alert, menuUI);
                break;
            }
            
            case EVENT_NEXTROUND:{
                //开启一个新的线程,显示下一轮字样
                //原先画布线程则更换地图信息
                Thread t = new Thread(){
                     public void run(){
                         StringBuffer sbf = new StringBuffer("Round " + (SubCanvas.PLAYER_LEVEL));
                         display.setCurrent(new InfoCanvas(sbf){});
                         
                         try {
                            Thread.sleep(2000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                        
                        display.setCurrent(subCanvas);
                        subCanvas.active();
                    }
                };
                t.start();
                break;
            }
            
            case EVENT_EXIT:{
                //退出程序
                try {
					subMIDlet.destroyApp(false);
					subMIDlet.notifyDestroyed();
					
				} catch (MIDletStateChangeException e) {
					e.printStackTrace();
				}
                break;
            }
            
            case EVENT_MENU:{
                display.setCurrent(menuUI);
                break;
            }
            
            case EVENT_MENU_GAMEOVER:{
                StringBuffer sbf = new StringBuffer("Game Over");
                display.setCurrent(new InfoCanvas(sbf){});
                subCanvas = null;
                
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                
                display.setCurrent(menuUI);
                break;
            }
            
            default:
                break;
        }
    }
    
}






⌨️ 快捷键说明

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