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

📄 battlefield.java

📁 手机上一个坦克游戏
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                        if (m_vGameDetails.size() > 0) {
                            m_vGameDetails.removeAllElements();
                        }
                    }
                    if (gamesCount > 0) {
                        String m_sGameName[] = new String[gamesCount];
                        for (int i = 0; i < gamesCount; i++) {
                            //gameID
                            m_vGameDetails.addElement(Integer.toString(
                                httpClientHolder.ReadInt()));
                            //need pwd?
                            m_vGameDetails.addElement(Integer.toString(
                                httpClientHolder.ReadByte()));
                            //gamename
                            m_sGameName[i] = httpClientHolder.ReadUTF();
                            m_vGameDetails.addElement(m_sGameName[i]);
                            //gamemode
                            m_vGameDetails.addElement(Integer.toString(
                                httpClientHolder.ReadByte()));
                            //mapid
                            m_vGameDetails.addElement(Integer.toString(
                                httpClientHolder.ReadShort()));
                            //creator
                            m_vGameDetails.addElement(httpClientHolder.ReadUTF());
                        }
                        createGameQueue(m_sGameName);
                        displayable = onlineGames;
                        display.setCurrent(displayable);
                    }
                    else {
                        game_page--;
                        displayable = mainList;
                        if (onlineGames != null) {
                            if (onlineGames.size() > 0) {
                                displayable = onlineGames;
                            }
                            else {
                                //System.out.println("12");
                                displayable = mainList;
                            }
                        }
                        changeToAlert("Warning", "No game Avaiable",
                                      displayable, AlertType.WARNING, 2000);
                    }
                    break;
                case 17:

                    //System.out.println("chang failed");
                    break;
                case 16:
                case 18:
                    int i;
                    String changeUser = httpClientHolder.ReadUTF();
                    for (i = 0; i < game.size(); i++) {
                        if ( (game.getString(i).substring(0,
                            game.getString(i).indexOf("   "))).equals(
                            changeUser)) {
                            String temp = game.getString(i);
                            game.delete(i);
                            int tt = httpClientHolder.ReadByte();
                            if (tt == 1) {
                                game.append(temp, teamAImage);
                            }
                            else {
                                game.append(temp, teamBImage);
                            }
                            break;
                        }
                    }
                    display.setCurrent(game);
                    break;
                case 19:
                    mHttpConnection.frequency = 10000;
                    if (gameStatus >= 5) {
                        cleanField();
                    }
                    if (isHost) {
                        isHost = false;
                    }

                    display.setCurrent(mainList);
                    if (gameStatus >= 5) {
                        String s = "You got " + httpClientHolder.ReadInt() +
                            " scores!";
                        changeToAlert("Exit Battle", s, mainList,
                                      AlertType.WARNING, 4000);
                    }
                    break;
                case 20:
                    String username = httpClientHolder.ReadUTF();
                    if (gameStatus < 5) {
                        for (i = 0; i < game.size(); i++) {
                            String temp = game.getString(i).substring(0,
                                game.getString(i).indexOf("   "));
                            if (temp.equals(username)) {
                                game.delete(i);
                                break;
                            }
                        }
                    }
                    if (runs != null) {
                        int del = 100;
                        Tank[] tmp_tanks = new Tank[runs.length - 1];
                        for (int index = 0; index < runs.length; index++) {
                            if (runs[index].userName.equals(username)) {
                                del = index;
                                break;
                            }
                            else {
                                tmp_tanks[index] = runs[index];
                            }
                        }

                        if (del != 100) {
                            for (int index = del; index < runs.length - 1;
                                 index++) {
                                tmp_tanks[index] = runs[index + 1];
                            }
                        }
                        runs = tmp_tanks;
                        tmp_tanks = null;
                        if (current >= del) {
                            current--;
                        }

                        //System.gc();
                        modifyContent(username + " has left the game");
                        now = nextTank();
                        scrollToNow();
                        now.setInit();
                        setGameStatus();
                        repaint(5, 25, screen_w, 39);
                    }
                    break;
                case 22: //接受到的公共聊天室的消息
                    byte msgCount = httpClientHolder.ReadByte();

                    String messages[] = new String[msgCount];
                    for (int k1 = 0; k1 < msgCount; k1++) {
                        messages[k1] = httpClientHolder.ReadUTF() + "  says: " +
                            httpClientHolder.ReadUTF() + "\n";
                    }
                    createChatList(messages);
                    displayable = chatList;
                    display.setCurrent(displayable);
                    break;
                case 23:
                    Form recForm = new Form("Message rev");
                    recForm.append(httpClientHolder.ReadUTF() + "Says: " +
                                   httpClientHolder.ReadUTF() + "\n");
                    recForm.addCommand(okCommand);
                    recForm.addCommand(backCommand);
                    recForm.setCommandListener(new CommandListener() {
                        public void commandAction(Command command,
                                                  Displayable displayable) {
                            if (command == okCommand) {
                                display.setCurrent(msgForm);
                            }
                            if (command == backCommand) {
                                display.setCurrent(chatList);
                            }
                        }
                    });
                    displayable = recForm;
                    display.setCurrent(recForm);
                    break;
                case 24: //更换坦克返回的消息
                    if (m_vTank == null) {
                        m_vTank = new Vector();
                    }
                    m_vTank.removeAllElements();
                    if (tankList == null) {
                        tankList = new List("Tank", 3);
                        tankList.addCommand(buyCommand);
                        tankList.addCommand(detailCommand);
                        tankList.addCommand(refreshCommand);
                        tankList.addCommand(backCommand);
                        tankList.setCommandListener(this);
                    }
                    for (; tankList.size() > 0; tankList.delete(0)) {
                        ;
                    }
                    byte tankCount = httpClientHolder.ReadByte();

                    for (int t = 0; t < tankCount; t++) {
                        m_vTank.addElement(Integer.toString(httpClientHolder.
                            ReadByte()));
                        m_vTank.addElement(httpClientHolder.ReadUTF());
                        m_vTank.addElement(Integer.toString(httpClientHolder.
                            ReadShort()));
                        m_vTank.addElement(httpClientHolder.ReadUTF());
                        tankList.append( (String) m_vTank.elementAt(t * 4 + 1) +
                                        " " +
                                        (String) m_vTank.elementAt(t * 4 + 2), null);
                    }
                    displayable = tankList;
                    preDisplayable = tankList;
                    display.setCurrent(displayable);
                    break;
                case 25: //购买导弹列表
                    if (m_vMissile == null) {
                        m_vMissile = new Vector();
                    }
                    m_vMissile.removeAllElements();
                    if (missileList == null) {
                        missileList = new List("Missile", 3);
                        missileList.addCommand(buyCommand);
                        missileList.addCommand(detailCommand);
                        missileList.addCommand(refreshCommand);
                        missileList.addCommand(backCommand);
                        missileList.setCommandListener(this);
                    }
                    for (; missileList.size() > 0; missileList.delete(0)) {
                        ;
                    }
                    byte missileCount = httpClientHolder.ReadByte();
                    for (int t = 0; t < missileCount; t++) {
                        m_vMissile.addElement(Integer.toString(httpClientHolder.
                            ReadByte()));
                        m_vMissile.addElement(httpClientHolder.ReadUTF());
                        m_vMissile.addElement(Integer.toString(httpClientHolder.
                            ReadShort()));
                        m_vMissile.addElement(httpClientHolder.ReadUTF());
                        missileList.append( (String) m_vMissile.elementAt(t * 4 +
                            1) + " " + (String) m_vMissile.elementAt(t * 4 + 2), null);
                    }
                    displayable = missileList;
                    preDisplayable = missileList;
                    display.setCurrent(displayable);
                    break;
                case 26: //买或卖物品列表
                    if (m_vGoods == null) {
                        m_vGoods = new Vector();
                    }
                    m_vGoods.removeAllElements();
                    if (goodsList == null) {
                        goodsList = new List("Goods", 3);
                        goodsList.addCommand(buyCommand);
                        goodsList.addCommand(detailCommand);
                        goodsList.addCommand(refreshCommand);
                        goodsList.addCommand(backCommand);
                        goodsList.setCommandListener(this);
                    }
                    for (; goodsList.size() > 0; goodsList.delete(0)) {
                        ;
                    }
                    byte goodsCount = httpClientHolder.ReadByte();
                    for (int t = 0; t < goodsCount; t++) {
                        m_vGoods.addElement(Integer.toString(httpClientHolder.
                            ReadByte()));
                        m_vGoods.addElement(httpClientHolder.ReadUTF());
                        m_vGoods.addElement(Integer.toString(httpClientHolder.
                            ReadShort()));
                        m_vGoods.addElement(httpClientHolder.ReadUTF());
                        goodsList.append( (String) m_vGoods.elementAt(t * 4 + 1) +
                                         " " +
                                         (String) m_vGoods.elementAt(t * 4 + 2), null);
                    }
                    displayable = goodsList;
                    preDisplayable = goodsList;
                    display.setCurrent(displayable);
                    break;
                case 27: //查看当前装备
                    if (m_vMy == null) {
                        m_vMy = new Vector();
                    }
                    m_vMy.removeAllElements();
                    final Form myForm = new Form("Status");
                    myForm.addCommand(okCommand);
                    myForm.addCommand(backCommand);
                    myForm.append("Money : " + "\n");
                    myForm.append("  " +
                                  Integer.toString(httpClientHolder.ReadInt()) +
                                  "\n");
                    myForm.append("Tank Name : " + "\n");
                    myForm.append("  " + httpClientHolder.ReadUTF() + "\n");
                    byte myCount = httpClientHolder.ReadByte();
                    if (myCount > 0) {
                        ChoiceGroup myEquipment = new ChoiceGroup("can sold",
                            1);
                        for (int t = 0; t < myCount; t++) {
                            m_vMy.addElement(Integer.toString(httpClientHolder.
                                ReadByte()));
                            m_vMy.addElement(Integer.toString(httpClientHolder.
                                ReadByte()));
                            m_vMy.addElement(httpClientHolder.ReadUTF());
                            myEquipment.append( (String) m_vMy.elementAt(t * 3 +
                                2), null);
                        }
                        myForm.append(myEquipment);
                    }
                    myForm.setCommandListener(new CommandListener() {
                        public void commandAction(Command command,
                                                  Displayable displayable) {
                            if (command == backCommand) {
                                display.setCurrent(itemList);
                            }
                            //sell item
                            if (command == okCommand) {
                                if (myForm.size() == 5) {
                                    int i = ( (ChoiceGroup) myForm.get(4)).
                                        getSelectedIndex();
                                    //导弹
                                    HttpClientHolder httpClientHolder = new
                                        HttpClientHolder();
                                    if ( ( (String) m_vMy.elementAt(i * 3)).
                                        equals(
                                        "0")) {
                                        httpClientHolder.WriteByte( (byte) 23);
                                    }
                                    else { //物品
                                        httpClientHolder.WriteByte( (byte) 22);
                                    }
                                    httpClientHol

⌨️ 快捷键说明

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