📄 manager.java
字号:
package rescuenew;
import java.io.InputStream;
import java.util.Random;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.Font;
public class Manager
{
public static final byte GAME_INIT = -1;
public static final byte GAME_PLAY = 1;
public static final byte GAME_MENU = 2;
public static final byte GAME_EXIT = 3;
public static final byte SITU_NORMAL = 0;
public static final byte SITU_COLLISION = 1;
public static final byte SITU_END = 2;
public static final byte SITU_START = 3;
public final byte DIRECT_E = 0;
public final byte DIRECT_NE = 1;
public final byte DIRECT_N = 2;
public final byte DIRECT_NW = 3;
public final byte DIRECT_W = 4;
public final byte DIRECT_SW = 5;
public final byte DIRECT_S = 6;
public final byte DIRECT_SE = 7;
private final byte UNBREAKABLE_BLOCK = 0;
private final byte EMPTY_BLOCK = 1;
private final byte TREE_BLOCK = 2;
private final byte STONE_BLOCK = 3;
private final byte ROAD_BLOCK = 4;
private final int BLOCK_PIXEL = 5;
private final byte STAND = 0;
private final byte MOVE = 1;
private final byte SHOOT = 3;
private final byte SEIZE = 6;
private final byte DIE = 7;
private final byte DIE_2 = 8;
private final byte ERASE = 9;
private final byte PLAYER_MOVESIZE = 3;
public final byte MOVE_FRONT = 0;
public final byte MOVE_BEHIND = 1;
public final byte TRAN_RIGHT = 2;
public final byte TRAN_LEFT = 3;
private int WIDTH;
private int HEIGHT;
private int half_width;
private int half_height;
private byte treeNumInLevel[] =
{
4, 5, 6, 7, 8, 9, 10, 10, 10, 10,
10, 10, 10, 10, 11, 12, 13, 14, 15, 16
};
private byte itemNumInLevel[] =
{
0, 0, 1, 2, 0, 1, 1, 2, 0, 1,
0, 2, 0, 2, 1, 1, 0, 0, 1, 1
};
private final byte heroRifleLoc[][] =
{
{
35, 22, 10, 3, 2, -1, 1, -1
}
,
{
38, 11, 8, 8, 4, -11, 3, -10
}
,
{
29, 19, 3, 14, -1, -12, -1, -11
}
,
{
31, 11, 8, 8, -11, -11, -10, -10
}
,
{
35, 19, 10, 3, -12, -1, -11, -1
}
,
{
31, 0, 8, 8, -11, 3, -10, 2
}
,
{
32, 19, 3, 14, -2, -1, -2, -2
}
,
{
38, 0, 8, 8, 3, 3, 2, 2
}
};
private final byte bulletLoc[][] =
{
{
0, 0, 6, 14, -20, 6
}
,
{
6, 4, 3, 7, -16, 2
}
,
{
0, 26, 10, 12, -12, 24
}
,
{
22, 22, 4, 6, -12, 18
}
,
{
17, 11, 14, 6, 7, 27
}
,
{
20, 8, 7, 3, 3, 20
}
,
{
9, 26, 10, 12, 21, 23
}
,
{
26, 22, 4, 6, 15, 17
}
,
{
11, 0, 6, 14, 26, 5
}
,
{
8, 4, 3, 7, 19, 2
}
,
{
9, 15, 10, 12, 21, -10
}
,
{
25, 17, 4, 6, 15, -9
}
,
{
17, 0, 14, 6, 9, -23
}
,
{
20, 6, 7, 3, 5, -19
}
,
{
0, 15, 10, 12, -10, -11
}
,
{
22, 17, 4, 6, -10, -6
}
};
private final byte obstacleLoc[][] =
{
{
16, 16, 10, 10, 0, 0
}
,
{
0, 26, 20, 21, 10, 10
}
,
{
20, 26, 23, 21, 11, 10
}
,
{
26, 16, 9, 8, 4, 4
}
,
{
35, 17, 8, 9, 4, 4
}
,
{
0, 0, 23, 23, 11, 11
}
,
{
23, 0, 23, 23, 11, 11
}
};
private final byte collisionLoc[][] =
{
{
0, 1, 22, 22, 11, 11
}
,
{
21, 0, 25, 24, 12, 12
}
,
{
46, 0, 24, 25, 12, 12
}
};
private final byte insultedLoc[][] =
{
{
0, 33, 83, 39, -42, -29
}
,
{
0, 0, 76, 32, -42, -21
}
};
private final byte nativeLocPAdd[][] =
{
{
3, -3
}
,
{
-3, -3
}
,
{
-3, 3
}
,
{
3, 3
}
};
private final byte gameInfoLoc[][] =
{
{
0, 14, 14, 13
}
,
{
36, 14, 8, 11
}
,
{
44, 15, 5, 11
}
,
{
25, 14, 11, 11
}
,
{
14, 14, 11, 11
}
,
{
49, 21, 5, 5
}
,
{
0, 0, 25, 6
}
,
{
40, 0, 9, 8
}
,
{
0, 37, 27, 6
}
};
private final byte gameInfoNumLoc[][] =
{
{
33, 27, 8, 10
}
,
{
41, 27, 5, 10
}
,
{
46, 27, 7, 10
}
,
{
49, 1, 6, 10
}
,
{
49, 11, 7, 10
}
,
{
0, 27, 6, 10
}
,
{
6, 27, 8, 10
}
,
{
14, 27, 6, 10
}
,
{
20, 27, 6, 10
}
,
{
26, 27, 8, 10
}
};
private int players[][];
private int natives[][];
private int girlTarget[];
private int nativeTarget[];
private int item[][];
private byte treeArray[][];
private int previousXY[];
private int gameMode;
private int situation;
private int life;
private int level;
private int userLevel;
private int score;
private byte cartridge;
private byte bullet;
private boolean lifeBonus;
private boolean scoreBonus;
private int nativeNum;
private int dieNativeNum;
private byte stageEndState;
private byte nativeMoveSize;
private byte bgArray[][];
private int ROWS;
private int COLUMNS;
private int GROUND_START_ROW;
private Random rnd;
private byte directOfOutRoad;
private byte directOfInRoad;
private byte obstacle2[][][];
private final byte heroLoc[][][] = new byte[8][4][6];
private final byte nativeLoc[][][] = new byte[10][2][4];
private final byte girlLoc[][][] = new byte[8][3][6];
private byte treeMap[][][];
private byte heroCount;
private byte girlCount;
private byte nativeCount;
private byte bulletCount;
private byte seizeCount;
private byte soundCount;
private byte resultCount;
public int subSituCount;
private int threadCount;
private boolean isSkip;
public void process()
{
threadCount = threadCount <= 8 ? threadCount + 1 : 9;
label0:
switch (gameMode)
{
case 0: // '\0'
case 2: // '\002'
default:
break;
case 1: // '\001'
switch (situation)
{
default:
break;
case 0: // '\0'
moveNative();
moveGirl();
if (isCollisionWithHero())
{
setSituation( (byte) 1);
return;
}
if (bgArray[players[0][1] / 5][players[0][0] / 5] != 4)
{
break label0;
}
byte byte0 = getDirectOfOutRoad();
if (byte0 == directOfInRoad)
{
break label0;
}
directOfOutRoad = byte0;
if (level < 19)
{
stageEndState = 0;
}
else
if (userLevel == 20)
{
stageEndState = 2;
}
else
{
stageEndState = 0;
}
setSituation( (byte) 3);
resetLevelUpGame();
playSound("/outroad.ott", 9, 1);
return;
case 1: // '\001'
if (6 < ++subSituCount)
{
setSituation( (byte) 2);
soundCount = 0;
return;
}
break label0;
case 2: // '\002'
if (subSituCount < 15)
{
if (subSituCount == 0)
{
soundCount = 0;
stageEndState = ( (byte) (life - 1 != 0 ? 1 : 3));
}
if (isSkip)
{
setSituation( (byte) 3);
resetReStartGame();
soundCount = 0;
setSkip(false);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -