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

📄 tankmidlet.java

📁 欢迎使用蓝牙联网坦克大战
💻 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 + -