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

📄 maincontrol.java

📁 游戏说明
💻 JAVA
字号:
package com.tianxia.qipai.control;

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;

import com.tianxia.qipai.MobileGameMidlet;
import com.tianxia.qipai.control.game.gobang.GobangControl;
import com.tianxia.qipai.control.universal.BeginControl;
import com.tianxia.qipai.event.GobangEvent;
import com.tianxia.qipai.event.MainGameEvent;
import com.tianxia.qipai.event.UniGameEvent;
import com.tianxia.qipai.model.util.GameEventDeal;

public class MainControl implements GameEventDeal{       //手机游戏主控制器,由它来决定游戏控制权的归属

	private static MainControl instance;
	private Display display;
	private Displayable currdisplayable;
	private MobileGameMidlet mobilegamemidlet;
	private GameEventDeal begameeventdeal;      //正在处理的控制模块
	private MainGameEvent maingameevent;       //事件事例
	//下面是控制器定义
	private BeginControl begincontrol;
	private GobangControl gobangcontrol;
		
	//下面对各事件进行定义
	UniGameEvent unigameevent;
	public MainControl() {
		super();
	}

	public void init(MobileGameMidlet midlet){
			mobilegamemidlet = midlet;
			display = Display.getDisplay(midlet);		
		}

	public static synchronized MainControl getInstance(){
		if(instance == null){
			instance = new MainControl();
		}
			return instance;
	}
	
	public Display getDisplay(){
		return display;
	}
	
	public void handleEvent(int eventID, MainGameEvent e){
		switch(eventID){
			case MainGameEvent.MAINGAMESTART:	
				this.maingameevent = e;
				begincontrol = BeginControl.getInstance();
				begincontrol.init(this);
				begameeventdeal = begincontrol;
				begincontrol.handleEvent(UniGameEvent.MAINGAMESTART,maingameevent);
				break;
			case MainGameEvent.MAINGAMEEXIT:	
				mobilegamemidlet.gameExit();
				
				break;
			case UniGameEvent.DATAMODIFYREQ:    //用户资料修改请求
				this.maingameevent = e;
				begincontrol.handleEvent(UniGameEvent.DATAMODIFYREQ,e);
				break;
			
			case UniGameEvent.MODIFYSUCCESSFUL:  //用户资料修改成功
				this.maingameevent = e;
				begameeventdeal.handleEvent(UniGameEvent.MODIFYSUCCESSFUL,e);
				break;
			
			case MainGameEvent.SUBMODELEXIT:    //子游戏模块退出
				this.maingameevent = e;
				begincontrol.handleEvent(UniGameEvent.SUBMODELEXIT,e);
				break;
				
			case UniGameEvent.SUBCONTROLSWITCH:   //模块切换
				this.maingameevent = e;
				ModelSwitch(maingameevent);
				break;
				
			case UniGameEvent.BELOGOUT:    //用户注销
				this.maingameevent = e;
				BeLogout(maingameevent);
				break;
				
			case MainGameEvent.MAINGAMEPAUSE:  //游戏暂停
				currdisplayable=display.getCurrent();
				break;
			
			case MainGameEvent.MAINGAMEWAKEN:  //游戏恢复
				display.setCurrent(currdisplayable);
				break;
			default:
					break;
		
		}
	}
	
//	模块切换
	private void ModelSwitch(MainGameEvent maingameevent){
		String subcontrol = maingameevent.getByName("subcontrol");
		if(subcontrol.equals("gobang")){   //进入五子棋模块
			gobangcontrol = GobangControl.getInstance();
			gobangcontrol.init(this);
			begameeventdeal =gobangcontrol;
			gobangcontrol.handleEvent(GobangEvent.GOBANGMODELSTART,maingameevent);
		}
		
		
		
	}
	
//用户注销
	private void BeLogout(MainGameEvent maingameevent){
		String subcontrol = maingameevent.getByName("subcontrol");
		if(subcontrol.equals("gobang")){   //处于五子棋模块
			gobangcontrol.setNull();
			
		}
		
		
	}


}

⌨️ 快捷键说明

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