📄 tanksprite.java
字号:
/**********************************************************
File name:TankSprite.java
Author:夏文涛
Version:Beta1.0
Data:2007/10/16
Description:
坦克精灵处理,包括坦克的能力数据处理,移动动画处理,移动
物品的装备与删除
*********************************************************/
package com.Izual.MetalMax;
import java.io.IOException;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class TankSprite extends Sprite implements IData {
private static String tankName = "Tank01"; /*坦克名称*/
private static int nw = 0; /*坦克现有重量*/
private static int max = 0; /*坦克最大载重量*/
private static int di = 0; /*坦克剩余载重量*/
private int tankItem[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; /*坦克现有的工具物品*/
private int tankEquItem[] = { 1, 2, 3, 4, 5, 6, 7, 8 };/*坦克现有的装备物品*/
private int tankEqu[] = { 0, 0, 0, 0, 0, 0 }; /*坦克已装备的物品*/
private int mDir = -1; /*坦克的方向*/
private int mSpeed = 2; /*坦克移动速度*/
private int screenWidth = MapManager.screenWidth, /*屏幕大小*/
screenHeight = MapManager.screenHeight;
public static boolean mapChanged = false; /*地图是否切换*/
private static int maxSp = 0; /*坦克最大装甲量*/
private static int sp = 0; /*坦克现有装甲量*/
/*坦克四方向移动时的动画数组*/
int nowdown[] = { 0, 0, 1, 1, 2, 2, 3, 3 };
int nowleft[] = { 4, 4, 5, 5, 6, 6, 7, 7 };
int nowright[] = { 8, 8, 9, 9, 10, 10, 11, 11 };
int nowup[] = { 12, 12, 13, 13, 14, 14, 15, 15 };
/*坦克主炮的数据*/
private static int mainAt = 0;
private static int mainDf = 0;
private static int mainWei = 0;
private static int mainNum = 0;
private static int mainMaxNum = 0;
private static String mainName = "";
private static int mainState = 0;
/*坦克副炮的数据*/
private static int viceAt = 0;
private static int viceDf = 0;
private static int viceWei = 0;
// private static int viceNum = 0;
private static String viceName = "";
private static int viceState = 0;
/*坦克SE的数据*/
private static int seAt = 0;
private static int seDf = 0;
private static int seWei = 0;
private static int seNum = 0;
private static int seMaxNum = 0;
private static String seName = "";
private static int seState = 0;
/*坦克C装置的数据*/
private static int cmDf = 0;
private static int cmWei = 0;
private static String cmName = "";
private static int cmState = 0;
/*坦克发动机的数据*/
private static int motCa = 0;
private static int motDf = 0;
private static int motWei = 0;
private static String motName = "";
private static int motState = 0;
/*坦克地盘的数据*/
private static int bedNum = 0;
private static int bedMaxNum = 0;
private static int bedrockDf = 0;
private static int bedrockWei = 0;
private static String bedrockName = "";
private static int bedrockState = 0;
private static int tankState = 0; /*坦克状态*/
public int pX = 80, pY = 48; /*坦克坐标*/
/*构造函数,初始化装甲数据*/
public TankSprite(Image img, int w, int h) {
super(img, w, h);
setPosition(pX, pY);
max = getMotCa(); /*坦克最大载重量等于发动机的载重量*/
nw = getMainWei() + getViceWei() + getSeWei() + getMotWei()
+ getCmWei() + getBedRockWei(); /*坦克现在的重量,各个装备重量之和*/
di = max - nw; /*坦克剩余载重量*/
maxSp = di; /*最大装甲数等于坦克剩余载重量*/
}
/*-------------------以下为set类---------------------------*/
/*更新坦克主炮攻击力*/
public static void setMainAt(int newMainAt) {
mainAt = newMainAt;
}
/*更新坦克主炮防御力*/
public static void setMainDf(int newMainDf) {
mainDf = newMainDf;
}
/*更新坦克主炮现有弹药数*/
public static void setMainNum(int newMainNum) {
mainNum = newMainNum;
}
/*更新坦克主炮最大弹药数*/
public static void setMainMaxNum(int newMainMaxNum) {
mainMaxNum = newMainMaxNum;
}
/*更新坦克主要重量*/
public static void setMainWei(int newMainWei) {
mainWei = newMainWei;
}
/*更新坦克主炮名称*/
public static void setMainName(String newMainName) {
mainName = newMainName;
}
/*更新坦克主炮状态*/
public static void setMainState(int newMainState) {
mainState = newMainState;
}
/*更新坦克副炮攻击力*/
public static void setViceAt(int newViceAt) {
viceAt = newViceAt;
}
/*更新坦克副炮防御力*/
public static void setViceDf(int newViceDf) {
viceDf = newViceDf;
}
/*更新坦克副炮的弹药数,副炮弹药一般都为无限多,省略
public static void setViceNum(int newViceNum){
viceNum = newViceNum;
}*/
/*更新坦克副炮重量*/
public static void setViceWei(int newViceWei) {
viceWei = newViceWei;
}
/*更新坦克副炮名称*/
public static void setViceName(String newViceName) {
viceName = newViceName;
}
/*更新坦克副炮状态*/
public static void setViceState(int newViceState) {
viceState = newViceState;
}
/*更新坦克SE攻击力*/
public static void setSeAt(int newSeAt) {
seAt = newSeAt;
}
/*更新坦克SE防御力*/
public static void setSeDf(int newSeDf) {
seDf = newSeDf;
}
/*更新坦克SE的现有弹药数*/
public static void setSeNum(int newSeNum) {
seNum = newSeNum;
}
/*更新坦克SE的最大弹药数*/
public static void setSeMaxNum(int newSeMaxNum) {
seMaxNum = newSeMaxNum;
}
/*更新坦克SE的重量*/
public static void setSeWei(int newSeWei) {
seWei = newSeWei;
}
/*更新坦克SE的名称*/
public static void setSeName(String newSeName) {
seName = newSeName;
}
/*更新坦克SE的状态*/
public static void setSeState(int newSeState) {
seState = newSeState;
}
/*更新坦克C装置的防御力*/
public static void setCmDf(int newCmDf) {
cmDf = newCmDf;
}
/*更新坦克C装置的状态*/
public static void setCmWei(int newCmWei) {
cmWei = newCmWei;
}
/*更新坦克C装置的名称*/
public static void setCmName(String newCmName) {
cmName = newCmName;
}
/*更新坦克C装置的状态*/
public static void setCmState(int newCmState) {
cmState = newCmState;
}
/*更新坦克发动机的防御力*/
public static void setMotDf(int newMotDf) {
motDf = newMotDf;
}
/*更新坦克发动机的重量*/
public static void setMotWei(int newMotWei) {
motWei = newMotWei;
}
/*更新坦克发动机的名称*/
public static void setMotName(String newMotName) {
motName = newMotName;
}
/*更新坦克发动机的载重量*/
public static void setMotCa(int newMotCa) {
motCa = newMotCa;
}
/*更新坦克发动机的状态*/
public static void setMotState(int newMotState) {
motState = newMotState;
}
/*更新坦克地盘的防御力*/
public static void setBedRockDf(int newBedRockDf) {
bedrockDf = newBedRockDf;
}
/*更新坦克地盘的现有弹药数(指特殊炮弹)*/
public static void setBedRockNum(int newBedRockNum) {
bedNum = newBedRockNum;
}
/*更新坦克地盘的最大弹药数(指特殊炮弹)*/
public static void setBedRockMaxNum(int newBedRockMaxNum) {
bedMaxNum = newBedRockMaxNum;
}
/*更新坦克地盘的重量*/
public static void setBedRockWei(int newBedRockWei) {
bedrockWei = newBedRockWei;
}
/*更新坦克地盘的名称*/
public static void setBedRockName(String newBedRockName) {
bedrockName = newBedRockName;
}
/*更新坦克地盘的状态*/
public static void setBedRockState(int newBedRockState) {
bedrockState = newBedRockState;
}
/*更新坦克的现有装甲量*/
public static void setTankSp(int newTankSp) {
TankSprite.sp = Math.min(newTankSp, maxSp);
}
/*更新坦克的最大装甲量*/
public static void setTankMaxSp(int newMaxSp) {
maxSp = newMaxSp;
}
/*更新坦克的现有重量*/
public static void setTankNw(int newNw) {
nw = newNw;
}
/*更新坦克的最大承载量*/
public static void setTankMax(int newMax) {
max = newMax;
}
/*更新坦克的状态*/
public static void setTankState(int newTankState) {
tankState = newTankState;
}
/*--------------------以下get类----------------------------------*/
/*获取坦克主炮的攻击力*/
public static int getMainAt() {
return mainAt;
}
/*获取坦克主炮的防御力*/
public static int getMainDf() {
return mainDf;
}
/*获取坦克主炮的现有弹药数*/
public static int getMainNum() {
return mainNum;
}
/*获取坦克主炮的最大弹药数*/
public static int getMainMaxNum() {
return mainMaxNum;
}
/*获取坦克主炮的重量*/
public static int getMainWei() {
return mainWei;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -