📄 tankmidlet.java
字号:
/*
* Combat - an example of a multiplater game using the Bluetooth Multiplayer Games Framework
* Author: Francesco Panciroli (email: fif0302@iperbole.bologna.it)
* Copyright (C) 2006 Francesco Panciroli
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package newpackagetank;
import java.util.Vector;
import javax.microedition.io.Connection;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Image;
import org.apache.log4j.Category;
import newpackage.BlueEventHandler;
import newpackage.BlueMIDlet;
public class TankMidlet extends BlueMIDlet implements BlueEventHandler, CommandListener {
static Category log = Category.getInstance("newpackagetank.TankMidlet");
private CombatCanvas combat;
public static TankMidlet midlet;
//private ChooseParameters chooseParameters;
//private int turn; // 1 = first player, 2 = second player
//private int speedTank1;
//private int degreesTank1;
// private int speedTank2;
//private int degreesTank2;
//private int minutesTank2;
//private int secondsTank2;
Connection conn = null;
public TankMidlet() {
setServiceUUIDAsString("739f79a68d64c1093b820e674510b90a");
//setNumberOfPlayers(2);
log.debug("logForm = " + logForm);
init();
}
private synchronized void init() {
midlet = this;
if (combat == null) {
combat = new CombatCanvas(this);
}
}
public void startApp() {
Displayable current = Display.getDisplay(this).getCurrent();
if (current == null) {
// first time we've been called
log.debug("Show the SplashScreen.");
//Display.getDisplay(this).setCurrent(m_MainCanvas);
Display.getDisplay(this).setCurrent(new SplashScreen(this));
} else {
//Display.getDisplay(this).setCurrent(combatCanvas);
}
}
public void splashScreenDone() {
log.debug("splashScreenDone");
super.startApp();
}
public void pauseApp() {
super.pauseApp();
}
public void destroyApp(boolean unconditional) {
super.destroyApp(unconditional);
}
public void quit() {
super.quit();
}
/* public void parametersChosen(int velocita, int gradi) {
if (turn == 1) {
speedTank1 = velocita;
degreesTank1 = gradi;
//minutesTank1 = primi;
//secondsTank1 = secondi;
} else {
speedTank2 = velocita;
degreesTank2 = gradi;
//minutesTank2 = primi;
//secondsTank2 = secondi;
}
Display.getDisplay(this).setCurrent(combatCanvas);
//combatCanvas.startShoot(turn, velocita, gradi, primi, secondi);
combatCanvas.startShoot(turn, velocita, gradi, 0, 0);
}*/
/*public void chooseParameters(int turn) {
this.turn = turn;
String titoloTesto = "Player " + String.valueOf(turn);
chooseParameters.setTitleText(titoloTesto);
if (turn == 1) {
chooseParameters.setSpeedString(String.valueOf(speedTank1));
chooseParameters.setDegreesString(String.valueOf(degreesTank1));
//chooseParameters.setMinutesString(String.valueOf(minutesTank1));
//chooseParameters.setSecondsString(String.valueOf(secondsTank1));
} else {
chooseParameters.setSpeedString(String.valueOf(speedTank2));
chooseParameters.setDegreesString(String.valueOf(degreesTank2));
//chooseParameters.setMinutesString(String.valueOf(minutesTank2));
//chooseParameters.setSecondsString(String.valueOf(secondsTank2));
}
Display.getDisplay(this).setCurrent(chooseParameters);
}*/
public void restart() {
init();
combat.restart();
Display.getDisplay(this).setCurrent(combat);
}
static Image createImage(String filename) {
Image image = null;
try {
image = Image.createImage(filename);
} catch (java.io.IOException e) {
// just let return value be null
}
return image;
}
public void handleEvent(String event, Object param1) {
log.debug("Called handleEvent with parameters " + event + ", " + param1);
if (event.equals(BlueEventHandler.EVENT_STANDALONE)) {
gameMode = STAND_ALONE_MODE;
}
if (event.equals(BlueEventHandler.EVENT_SERVER_START_GAME)) {
gameMode = SERVER_MODE;
// The vector of the connections has only one connection because numberOfPlayers is 2!
Vector conns = (Vector) param1;
conn = (Connection) conns.elementAt(0);
stopBlueServer();
}
if (event.equals(BlueEventHandler.EVENT_CLIENT_WAITING_FOR_START)) {
gameMode = CLIENT_MODE;
conn = (Connection) param1;
}
Display.getDisplay(this).setCurrent(combat);
combat.startGame();
}
public Connection getConnection() {
return conn;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -