J2ME 拼图游戏 快速开发 全过程 之代码祥解(1 )——程序入口与控制器开发

阅读: 评论:0

J2ME 拼图游戏 快速开发 全过程 之代码祥解(1 )——程序入口与控制器开发

J2ME 拼图游戏 快速开发 全过程 之代码祥解(1 )——程序入口与控制器开发

程序入口,代码:

/*
* TilePuzzle.java
*
* Created on 2012年3月14日, 下午3:19
*/


package u.tilepuzzle;


import javax.microedition.midlet.*;


import ller.MainUIController;
import del.RecordStoreOperations;


/**
*
* @author Administrator
* @version
*/
public class ClassMain extends MIDlet {


private MainUIController mainUIController;


public void startApp() {

gameCheck();
//testStroe();

try {
mainUIController = new MainUIController(ClassMain.this);
mainUIController.init();
} catch (Exception e) {
System.out.println("Error when initial the record Store");
}
}

private void gameCheck(){
//RecordStoreOperations.dStorePeopleResult);
//RecordStoreOperations.dStoreGameSetData);

if(!RecordStoreOperations.dStorePeopleResult)){
dStorePeopleResult);
}
if(!RecordStoreOperations.dStoreGameSetData)){
/*
* str[0]:orgImageString 图片路径 默认 DataBaseImageString
* str[1]:反向 boolean true 反向 false
* str[2]:趣味洗牌 boolean true 是 false
* str[3]:标记方格 boolean true 标记 true
* str[4]:困难/简单 boolean true 困难 true
* str[5]:行 大小 int rows 4
* str[6]:列 大小 int columns 5
* */
String str="";
for(int i=0;i<GameDB.gameSetData.length-1;i++)
str+=GameDB.gameSetData[i]+";";
str+=GameDB.gameSetData[GameDB.gameSetData.length-1];
//System.out.println(str);
RecordStoreOperations.addStrToRecordStroe(str, dStoreGameSetData);
//RecordStoreOperations.changeRecordStroe( dStoreGameSetData,str,DataBase.GameSetDataFlag);
}
}
public void testStroe(){
String string="刘华戴晴;4x5;1000";
RecordStoreOperations.addStrToRecordStroe(string, dStorePeopleResult);
string="戴晴;4x5;500";
RecordStoreOperations.addStrToRecordStroe(string, dStorePeopleResult);
string="刘要华;4x5;100";
RecordStoreOperations.addStrToRecordStroe(string, dStorePeopleResult);
}

public void pauseApp() {
}


public void destroyApp(boolean unconditional) {
}
}

控制器开发,代码:

package ller;


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


import u.tilepuzzle.GameDB;
import u.tilepuzzle.ClassMain;
import del.BoardModel;
import del.ClassSetPhoto;
import u.tilepuzzle.ui.AddUserNameUI;
import u.tilepuzzle.ui.BoardUI;
import u.tilepuzzle.ui.GameSetUI;
import u.tilepuzzle.ui.HelpUI;
import u.tilepuzzle.ui.MainMenuUI;
import u.tilepuzzle.ui.ShowPeopleInfoListUI;
import u.tilepuzzle.ui.WaitCanvasUI;
import u.tilepuzzle.ui.WelcomeUI;


public class MainUIController {
public boolean isChangeGameData=false;
public ClassMain classMain;

public Displayable preDisplayable;


private BoardModel boardModel;


boolean cheated;

private Display display; // 屏幕
public GameSetUI gameSetUI;// 操作类
int gameState;// 游戏状态

public WelcomeUI welcomeUI;
public MainMenuUI mainMenuUI;
public WaitCanvasUI waitCanvasUI;
public BoardUI boardUI;
public AddUserNameUI addUserNameUI;
public ShowPeopleInfoListUI showPeopleInfoListUI;
public ClassSetPhoto classSetPhoto;



public MainUIController(ClassMain classMain) {
this.classMain = classMain;
}

public void init() {

this.display&#Display(this.classMain);

this.welcomeUI = new WelcomeUI();


this.boardModel=new BoardModel(MainUIController.this);
this.boardModel.initData();

this.mainMenuUI=new MainMenuUI(MainUIController.this);

this.boardUI=new BoardUI(MainUIController.this,this.boardModel,this.display,Current());
this.boardUI.init();

this.addUserNameUI=new AddUserNameUI(MainUIController.this, this.boardModel, this.display, Current());
this.addUserNameUI.init();

this.waitCanvasUI=new WaitCanvasUI(MainUIController.this, this.boardModel, this.display, Current());

this.showPeopleInfoListUI=new ShowPeopleInfoListUI(MainUIController.this,this.display,Current());
this.showPeopleInfoListUI.init();

this.classSetPhoto=new ClassSetPhoto(MainUIController.this,this.boardModel,this.display,Current());

//GameSetUI设置在下面 setOPtions();

displayWelcome();
}
//这里设置GameSetUI
public void setOPtions(Displayable db){
this.gameSetUI=new GameSetUI(this.boardModel,display,db);
}
public void setCurrent(Displayable disp) {
display.setCurrent(disp);
}

public void displayWelcome() {
setCurrent(welcomeUI);
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
}
setCurrent(mainMenuUI);
}

public void handleCOMMAND_ID(int eventID) {
switch (eventID) {
case GameDB.COMMAND_ID_NEW_GAME: {


// 新游戏
if (GameState() != GameDB.PLAYING) {
cheated = false;


if (isChangeGameData) {
boardModel.initData();
isChangeGameData = false;
}
// 给图片添加/去掉文字
if (gameSetUI.addString) {
boardModel.addString();
} else {
veString();
}
// System.out.println("开始游戏......");
// boardModel.randomize(options.hard);
if (gameSetUI.funny) {
arrangeFunnily(gameSetUI.hard);
} else {
boardModel.randomize(gameSetUI.hard);
}


boardModel.starTime = System.currentTimeMillis();
boardModel.sumTime = 0;
} else {// 恢复游戏
// 暂停计时
// boardModel.sumtTime+=System.currentTimeMillis()-boardModel.starTime;
// System.out.println(boardModel.sumTime/1000);
// 给图片添加/去掉文字
if (gameSetUI.addString) {
boardModel.addString();
} else {
veString();
}
boardModel.starTime = System.currentTimeMillis();
}
boardUI.setBoardModel(boardModel);
boardModel.setGameState(GameDB.PLAYING);
paint();
display.setCurrent(boardUI);
break;
}
case GameDB.COMMAND_ID_SHOW_PHOTO: {
cheated = false;
// 新游戏;如果游戏正在玩。第二个选项是“新游戏”
if (GameState() == GameDB.PLAYING) {
if (isChangeGameData) {
boardModel.initData();
isChangeGameData = false;
}
// 给图片添加/去掉文字
if (gameSetUI.addString) {
boardModel.addString();
} else {
veString();
}
cheated = false;
// System.out.println("开始游戏......");
boardModel.randomize(gameSetUI.hard);
if (gameSetUI.funny) {
arrangeFunnily(gameSetUI.hard);
} else {
boardModel.randomize(gameSetUI.hard);
}


boardModel.starTime = System.currentTimeMillis();
boardModel.sumTime = 0;


boardUI.setBoardModel(boardModel);
boardModel.setGameState(GameDB.PLAYING);
paint();
display.setCurrent(boardUI);
} else {// 设置图片
setGrid();
boardModel.setGameState(GameDB.INITIALIZED);
classSetPhoto.showList();
// display.setCurrent(setPhotoUI);
}


break;
}
case GameDB.COMMAND_ID_BEST: {
display.setCurrent(showPeopleInfoListUI);
// display.setCurrent(indexFunctionUI);
// paint();
break;
}
case GameDB.COMMAND_ID_OPTIONS: {
display.setCurrent(this.gameSetUI);
// display.setCurrent(indexFunctionUI);
paint();
break;
}
case GameDB.COMMAND_ID_HELP: {
new HelpUI(this.display,Current());
// display.setCurrent(indexFunctionUI);


break;
}
case GameDB.COMMAND_ID_RESET: {
this.isChangeGameData=false;
System.out.println("游戏重置。");
this.boardModel.initData();
setCurrent(this.mainMenuUI);
break;
}
case GameDB.COMMAND_ID_TEST: {
System.out.println("进入测试。");
setCurrent(waitCanvasUI);
waitCanvasUI.setFlag(true);
break;
}
case GameDB.COMMAND_ID_EXIT: {
ifyDestroyed();
// display.setCurrent(listPhoneUI);
break;
}
case GameDB.INITIALIZED: {
// newPhoneUI.clear();
// display.setCurrent(newPhoneUI);
break;
}


case GameDB.PLAYING: {
break;
}


case GameDB.WON: {
setCurrent(waitCanvasUI);
waitCanvasUI.setFlag(true);
break;
}
default:
break;
}
}

public BoardModel getBoardModel() {
return boardModel;
}


public void setBoardModel(BoardModel boardModel) {
this.boardModel = boardModel;
}
}

本文发布于:2024-01-31 13:30:08,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170667901128875.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23