📄 battlefield.java
字号:
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 + -