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

📄 manager.java

📁 一款一个益智类的手机游戏源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
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 + -