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

📄 globals.java

📁 J2ME的游戏原代码!希望能帮助有需要帮助的师兄弟们!
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package com.centerscore.game;

import javax.microedition.lcdui.*;

/* Start	Modified	23-04-2003		for chinese support	*/
public class Globals {
/* End		Modified	23-04-2003	*/
    static final int GFX_TOPLEFT = Graphics.TOP | Graphics.LEFT;

	/* Start	Modified	31-03-2003		for first time selector slow	*/
    static int SCREEN_W = 128;
    static int SCREEN_H = 127;
    /* End	Modified		31-03-2003	*/

    /* Start	Addition	23-04-2003		for chinese support	*/
	static Font font = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_MEDIUM);
    /* End		Addition	23-04-2003	*/

    /* Start	Addition	23-04-2003		for chinese support	*/
    static String[] chineseString;
    /* End		Addition	23-04-2003	*/

    /* Start	Addition	23-04-2003		for chinese support	*/
    static final byte MENU_TXT_OFFSET = 0;
    static final byte HIS_TXT_OFFSET = 7;
    static final byte HELP_TXT_OFFSET = 25;
    static final byte CREDITS_TXT_OFFSET = 33;
    static final byte MISC_TXT_OFFSET = 42;
    static final byte COMS_TXT_OFFSET = 50;
    static final byte TOT_CHIN_STRINGS = 54;
    /* End		Addition	23-04-2003	*/


    static final short GAME_WIDTH = 120;
    static final short GAME_HEIGHT = 100;

    static int KEY_1_LL = Canvas.KEY_NUM7;
    static int KEY_1_LR = Canvas.KEY_NUM9;
    static int KEY_1_UL = Canvas.KEY_NUM1;
    static int KEY_1_UR = Canvas.KEY_NUM3;
    static int KEY_CHEAT_KEY = Canvas.KEY_STAR;


    /* Start	Addition	14-05-2003		for key 4,6	*/
    static int KEY_1_DDL = Canvas.KEY_NUM4;
    static int KEY_1_DDR = Canvas.KEY_NUM6;
	static Font engF = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN,Font.SIZE_SMALL);

    /* End	Addition	14-05-2003	*/


    static final byte QBERT_DIMENSIONS = 7;
    static final byte MAX_CUBES = 28;

    static final int[] CHEAT_KEY_ARRAY = {Canvas.KEY_NUM7,
                         Canvas.KEY_STAR,
                         Canvas.KEY_NUM2,
                         Canvas.KEY_NUM3,
                         Canvas.KEY_NUM7,
                         Canvas.KEY_NUM8};

    // main menu
    static final byte MAIN_SELECT_START = 1;

	/* Start	Modified		25-04-2003	for chinese support	*/
    // game menu
    static final int GAMEMENU_ELEMENT_HEIGHT = 15;
    static final int GAMEMENU_PAUSE_X = 30;
    static final int GAMEMENU_PAUSE_Y = 32;
    static final int GAMEMENU_QUIT_X = 30;
    static final int GAMEMENU_QUIT_Y = 48;
    static final int GAMEMENU_SAVE_X = 30;
    static final int GAMEMENU_SAVE_Y = 64;
    static final int GAMEMENU_BOX_X = 15;
    static final int GAMEMENU_BOX_Y = 30;
    static final int GAMEMENU_BOX_WIDTH = 90;
    static final int GAMEMENU_BOX_HEIGHT = 52;
	/* End		Modified	25-04-2003	*/

    static final byte OPTIONS_SELECT_INSTRUCTIONS = 0;
    static final byte OPTIONS_SELECT_HI_SCORE = 1;
    static final byte OPTIONS_SELECT_SOUND = 2;

    static final byte CUBE_WIDTH = 16;
    static final byte CUBE_HEIGHT = 16;

    static final byte QBERT_WIDTH = 11;
    static final byte QBERT_HEIGHT = 11;

    static final byte BASE_ENEMIES_PER_STAGE = 4;
    static final byte MAX_ENEMIES_ON_A_STAGE = 8;

    static final byte SCORE_X = 120;
	/* Start	Modified		07-05-2003	for chinese support	*/
    static final byte SCORE_Y = 2;
    //static final byte SCORE_Y = 5;
	/* End		Modified		07-05-2003	*/
    static final byte SCORE_WIDTH = 40;
    static final byte SCORE_HEIGHT = 5;

    static final byte CHANGE_TO_X = 0;
    static final byte CHANGE_TO_Y = 13;

    static final byte LEVEL_X = 100;
	/* Start	Modified		07-05-2003	for chinese support	*/
    static final byte LEVEL_Y = 10;
	/* End		Modified		07-05-2003	*/
    static final byte LEVEL_WIDTH = 7;
    static final byte LEVEL_HEIGHT = 5;

	/* Start	Modified		07-05-2003	for chinese support	*/
    static final byte INTRO_LEVEL_X = 40;
    static final byte INTRO_LEVEL_Y = 60+5+2;
    //static final byte INTRO_LEVEL_X = 37;
    //static final byte INTRO_LEVEL_Y = 60+5+5;
    /* End		Modified		07-05-2003	*/

    static final byte INTRO_CIRCLE_X = 53;

	/* Start	Modified		07-05-2003	for chinese support	*/
    static final byte INTRO_CIRCLE_Y = 80+5+2;
    //static final byte INTRO_CIRCLE_Y = 80+5+4;
    static final byte ROUND_X = 118;
    static final byte ROUND_Y = LEVEL_Y+16;
	/* End		Modified		07-05-2003	*/
    static final byte ROUND_WIDTH = 7;
    static final byte ROUND_HEIGHT = 5;

    static final byte INTRO_ROUND_X = 30;
    static final byte INTRO_ROUND_Y = 85;

    static final byte TIMESTOP_X = 15;
    static final byte TIMESTOP_Y = 20;

    static final byte UPRIGHT = 0;
    static final byte UPLEFT = 1;
    static final byte DOWNRIGHT = 2;
    static final byte DOWNLEFT = 3;

    static final byte QBERT = 0;
    static final byte RED = 1;
    static final byte COILY = 2;
    static final byte GREEN = 3;
    static final byte SLICK = 4;
    static final byte SAM = 5;
    static final byte UGG = 6;
    static final byte WRONGWAY = 7;
    static final byte PURPLE = 8;
    static final byte DISC = 9;

    static final int MAX_DISCS = 7;

    static final byte PT_CUBE_TO_FINAL_COLOR = 25;
    static final byte PT_CUBE_TO_INTERIM_COLOR = 15;
    static final short PT_LEVEL_BASE = 1000;
    static final byte PT_GREEN_BALL = 100;
    static final short PT_SAM_SLICK = 300;
    static final short PT_COILY_FALLING = 500;

    static final byte QBERT_COLROW_DELAY = 127;
    static final byte ENEMY_COLROW_DELAY = 2;

    static final int QBERT_START_X = GAME_WIDTH/2 - QBERT_WIDTH/2 -1;
    static final int QBERT_START_Y = 18;

    static final int ENEMY_START_XL = 46;
    static final int ENEMY_START_XR = 62;
    static final int ENEMY_START_Y = 30;
    static final int ENEMY_BOTTOM_RIGHT_X = 94 + 12;
    static final int ENEMY_BOTTOM_RIGHT_Y = 78 + 16;
    static final int ENEMY_BOTTOM_LEFT_X = -3;

    // Game modes
    static final byte MODE_NORMAL = 0;
    static final byte MODE_DEATH = 1;
    static final byte MODE_BOARDRESET = 2;
    static final byte MODE_GAMEOVER = 3;
    static final byte MODE_LVLCOMPLETE = 4;
    static final byte MODE_PAUSE = 5;
    static final byte MODE_INTRO = 7;
    static final byte MODE_COLLISION = 8;
    static final byte MODE_BLANK_BOARD = 9;
    static final byte MODE_LVL_COMPLETE_FLASHING = 10;
    static final byte MODE_LVL_COMPLETE_BONUS = 11;

    private static final int CUBE_BLACK = 0x000000;
    private static final int CUBE_BLUE = 0x0067EF;
    private static final int CUBE_BROWN = 0x673100;
    private static final int CUBE_DARK_BLUE  = 0x101098;
    private static final int CUBE_DARK_GRAY = 0x212121;
    private static final int CUBE_GRAY = 0x464646;
    private static final int CUBE_GREEN = 0x21B931;
    private static final int CUBE_LIGHT_BLUE = 0x5646EF;
    private static final int CUBE_LIGHT_GRAY = 0x999999;
    private static final int CUBE_LIGHT_YELLOW = 0xEFDE77;
    private static final int CUBE_LIME = 0xA9B910;
    private static final int CUBE_ORANGE = 0xFF7721;
    private static final int CUBE_PINK = 0xFF6767;
    private static final int CUBE_PURPLE = 0x980067;
    private static final int CUBE_RED = 0xB93131;
    private static final int CUBE_STEEL = 0x314646;
    private static final int CUBE_TURQOISE = 0x56A998;
    private static final int CUBE_WHITE = 0xB9CECE;
    private static final int CUBE_YELLOW = 0xDEDE00;

    /*
       Level & Round Data
       [Level][Round][

       for index 0 = nothing
       for index 1 = red ball
       for index 2 = coily
       for index 3 = green ball
       for index 4 = slick
       for index 5 = sam
       for index 6 = ugg
       for index 7 = wrong way
       for index 8 = purple ball

       for index 9 = cubeTurnBackType

       for index 10 = left cube color
       for index 11 = right cube color
       for index 12 = start cube color
       .. colors ..
       for index X ... finish color

       ]
    */

    static final private byte[] gArr_RandEnemies = {
        RED, PURPLE, GREEN, SLICK, SAM, UGG, WRONGWAY
    };



    static final byte getEnemyTypeFromRandomNumber(int rand) {
        return gArr_RandEnemies[rand % gArr_RandEnemies.length];
    }

    // index values
    static final byte QBERT_DELAY_PER_HOP = 3;

    static final byte LVL_INDEX_SPAWN_TIMER = 9;
    static final byte LVL_INDEX_MONSTER_SPEED = 10;

    // cube stuff
    static final byte LVL_INDEX_CUBE_TURN_BACK_TYPE = 11;
    static final byte LVL_INDEX_LEFT_CLR = LVL_INDEX_CUBE_TURN_BACK_TYPE+1;
    static final byte LVL_INDEX_RIGHT_CLR = LVL_INDEX_CUBE_TURN_BACK_TYPE+2;
    static final byte LVL_INDEX_START_CLR = LVL_INDEX_CUBE_TURN_BACK_TYPE+3;

    // turn back types (TBT)
    static final byte LVL_CUBE_TBT_ONE_WAY = 0;
    static final byte LVL_CUBE_TBT_TOGGLE_TOP = 1;
    static final byte LVL_CUBE_TBT_CYCLE_TO_BEGINNING= 2;

    static final int[][][] LEVEL_DATA = {
        {
        /*
        // for testing
            // Level 1
            { // ROUND 1
                // enemy arguments
                // 0-N/A, 1-red, 2-N/A, 3-green, 4-slick,
                0, 0, 0, 1, 0,
                // 5-sam, 6-ugg, 7-wrongway, 8-purple/coily
                0, 0, 0, 1,

                // spawn timer duration
                15,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_ONE_WAY, // cube turning style
                CUBE_TURQOISE, CUBE_STEEL,  // left/right
                CUBE_LIGHT_BLUE, // start
        //  CUBE_RED, // start
                // insert inter color here if needed
                CUBE_YELLOW // mid
            },
        */


            // Level 1
            { // ROUND 1
                // enemy arguments
                // 0-N/A, 1-red, 2-N/A, 3-green, 4-slick,
                0, 1, 0, 0, 0,
                // 5-sam, 6-ugg, 7-wrongway, 8-purple/coily
                0, 0, 0, 1,

                // spawn timer duration
                36,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_ONE_WAY, // cube turning style
                CUBE_TURQOISE, CUBE_STEEL,  // left/right
                CUBE_LIGHT_BLUE, // start
        //  CUBE_RED, // start
                // insert inter color here if needed
                CUBE_YELLOW // mid
            },

            //0  1  2  3  4  5  6  7  8  9...
            {
                // enemy arguments
                0, 1, 0, 0, 0, 0, 0, 0, 1,

                // spawn timer duration
                32,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_ONE_WAY, // cube turning style
                CUBE_BROWN, CUBE_ORANGE,  // left/right
        // insert inter color here if needed
                CUBE_LIGHT_YELLOW, // end
        CUBE_BLUE // start

            },


  // 0-N/A, 1-red, 2-N/A, 3-green, 4-slick, 5-sam, 6-ugg, 7-wrongway, 8-purple/coily

            { 0, 1, 0, 1, 0, 0, 1, 1, 1,
          32,
          5,  // cube arguments ----------------------------------------
          LVL_CUBE_TBT_ONE_WAY, // cube turning style
          CUBE_LIGHT_GRAY, CUBE_DARK_GRAY,
          CUBE_WHITE, // start
          // insert inter color here if needed
          CUBE_GRAY //
        },

            { 0, 1, 0, 1, 1, 1, 1, 1, 1,
          28,
          5,
          LVL_CUBE_TBT_ONE_WAY, // cube turning style
          CUBE_TURQOISE, CUBE_DARK_BLUE,
          CUBE_BLUE, // start
          // insert inter color here if needed
          CUBE_LIME
        }
        },

        {
            // Level 2
            { // ROUND 1
                // enemy arguments
                // 0-N/A, 1-red, 2-N/A, 3-green, 4-slick,
                0, 1, 0, 1, 0,
                // 5-sam, 6-ugg, 7-wrongway, 8-purple/coily
                1, 1, 1, 1,

                // spawn timer duration
                36,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_ONE_WAY, // cube turning style
                CUBE_BROWN, CUBE_ORANGE,
                CUBE_BLUE, // start
                CUBE_LIGHT_YELLOW,
                // insert inter color here if needed
                CUBE_GREEN // mid
            },

            //0  1  2  3  4  5  6  7  8  9...
            {
                // enemy arguments
                0, 0, 0, 1, 1, 1, 1, 1, 1,

                // spawn timer duration
                32,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_ONE_WAY, // cube turning style
                CUBE_TURQOISE, CUBE_DARK_BLUE,
        CUBE_PURPLE,
        CUBE_LIGHT_BLUE,
        CUBE_LIME
                // insert inter color here if needed
            },

        {
                // enemy arguments
                0, 0, 0, 1, 1, 1, 0, 0, 1,

                // spawn timer duration
                32,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_ONE_WAY, // cube turning style
                CUBE_TURQOISE, CUBE_STEEL,
        CUBE_PINK,
        CUBE_LIGHT_BLUE,
        CUBE_STEEL
                // insert inter color here if needed
            },

        {
                // enemy arguments
                0, 0, 0, 1, 1, 1, 1, 1, 1,

                // spawn timer duration
                28,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_ONE_WAY, // cube turning style
        CUBE_BLACK, CUBE_BLACK,
        CUBE_YELLOW,
        CUBE_BLUE,
        CUBE_PINK
                // insert inter color here if needed
            }


        },

        {
            // Level 3
            //0  1  2  3  4  5  6  7  8  9...
            { // ROUND 1
                // enemy arguments
                // 0-N/A, 1-red, 2-N/A, 3-green, 4-slick,
                0, 1, 0, 1, 1,
                // 5-sam, 6-ugg, 7-wrongway, 8-purple/coily
                1, 0, 0, 1,

                // spawn timer duration
                36,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_TOGGLE_TOP, // cube turning style
        CUBE_LIME, CUBE_RED,
        CUBE_TURQOISE,
        CUBE_DARK_BLUE

            },

        {
                // enemy arguments
                // 0-N/A, 1-red, 2-N/A, 3-green, 4-slick,
                0, 1, 0, 1, 1,
                // 5-sam, 6-ugg, 7-wrongway, 8-purple/coily
                1, 1, 1, 1,

                // spawn timer duration
                32,
                // monster speed (frames it delay before moving)
                5,

                // cube arguments ----------------------------------------
                LVL_CUBE_TBT_TOGGLE_TOP,
                CUBE_LIGHT_GRAY,
        CUBE_DARK_GRAY,
        CUBE_WHITE,
                // insert inter color here if needed
        CUBE_GRAY
            },

        { // ROUND 3
                // enemy arguments
                // 0-N/A, 1-red, 2-N/A, 3-green, 4-slick,
                0, 1, 0, 1, 1,
                // 5-sam, 6-ugg, 7-wrongway, 8-purple/coily
                1, 1, 0, 1,

⌨️ 快捷键说明

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