Subversion Repositories AndroidProjects

Rev

Rev 102 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.pingK.game;

import com.gebauz.framework.util.Vector4;

public class GameConsts
{
        // General constants
        public static final String LOG_TAG = "GEBAUZ"; 
       
        public static final float VIRTUAL_SCREEN_WIDTH = 800.0f;
        public static final float VIRTUAL_SCREEN_HEIGHT = 480.0f;
        public static final float SCORE_BAR_HEIGHT = 60.0f;             // height of the menu/score/icon/ad bar in dp
       
        public static final float FADE_TIME = 0.5f;
        public static final float BUTTON_TOUCH_TOLERANCE = 10.0f;

        public static final float SCREENFLASH_SCORE_TIME = 0.3f;                // time for pingk flashing when scoring
        public static final float SCREENFLASH_BALLSPAWN_TIME = 0.5f;            // time for pingk flashing when ball spawning
       
        public static final Vector4 PINGK_COLOR = new Vector4(1.0f, 0.0f, 0.6f, 1.0f);
       
        // Preferences constants
        public static final String PREF_NAME = "pingKSettings";
        public static final String PREF_AUDIO_ENABLED = "AudioEnabled";
        public static final String PREF_MUSIC_ENABLED = "MusicEnabled";

        // Title screen constants
        public static final float TITLE_FLASH_INTERVAL = 6.0f;
        public static final float TITLE_POSITION_Y = 50.0f;
        public static final float TITLE_WIDTH = 500.0f;
        public static final float TITLE_HEIGHT = 250.0f;
       
        // Paddle constants
        public static final float PADDLE_DISTANCE_FROM_EDGE_X = 40.0f;
        public static final float PADDLE_DISTANCE_FROM_EDGE_Y = 5.0f;
        public static final float PADDLE_WIDTH = 40;
        public static final float PADDLE_HEIGHT = 80;

        public static final float PADDLE_IMPACT_WIDTH = 40;
        public static final float PADDLE_IMPACT_HEIGHT = 80;
        public static final float PADDLE_IMPACT_LIFETIME = 0.4f;
        public static final float PADDLE_IMPACT_CONCAVE_OFFSET = 25.0f;

        public static final float PADDLE_INPUT_ACCEL = 15.0f;
        public static final float PADDLE_HIT_OFFSET = 5.0f;
        public static final float PADDLE_HIT_ZONE_DEVIATION = 0.4f;             // angle coefficient for the paddle's bendedness
       
        public static final float PADDLE_AI_TIMEOUT = 5.0f;
        public static final float PADDLE_AI_VARIANCE = 10.0f;
        public static final float PADDLE_AI_VARIANCE2 = 60.0f; 
        public static final float PADDLE_AI_RANDOM_TIMER = 2.0f;
        public static final float PADDLE_AI_ACCEL = 7.0f;
        public static final float PADDLE_AI_ACCEL_SLOW = 1.5f;

        // Ball constants
        public static final float BALL_SIZE = 16.0f;
        public static final float BALL_INITIAL_SPEED = 300.0f;
        public static final float BALL_TOP_SPIN_INTENSITY = 0.18f;
       
        public static final float BALL_SPEEDUP_TIMER = 1.0f;
        public static final float BALL_SPEEDUP_INCREASE = 12.00f;
       
        public static final float BALL_MAXIMUM_ANGULAR_SPEED = 500.0f;
        public static final float BALL_ANGULAR_SPEED_DECREASE = 10.0f;
       
        public static final float BALL_STEEPEST_ANGLE_HIT_PADDLE_FRONT = 1.0f;          // to prevent steep 0°/90°/180°/270° angles that would make the game stuck forever
        public static final float BALL_STEEPEST_ANGLE_HIT_PADDLE_SIDE = 1.0f;           // to prevent steep 0°/90°/180°/270° angles that would make the game stuck forever
        public static final float BALL_STEEPEST_ANGLE_REFLECT_FROM_BOARD = 3.0f;                // to prevent steep 0°/90°/180°/270° angles that would make the game stuck forever
       
        public static final float BALL_TRAIL_WIDTH = 5.0f;
        public static final int   BALL_TRAIL_LENGTH = 20;                       // number of points for the trail
        public static final float BALL_TRAIL_INTERVAL = 0.05f;          // interval in seconds at which the trail gets another point
        public static final float BALL_TRAIL_MAX_ALPHA = 0.7f;
        public static final float BALL_TRAIL_ELEMENT_LIFETIME = 1.0f;
       
        public static final float BALL_WARP_SIZE_0 = 10.0f;
        public static final float BALL_WARP_SIZE_1 = 35.0f;
        public static final float BALL_WARP_SIZE_2 = 60.0f;
        public static final float BALL_WARP_SIZE_3 = 85.0f;
       
        public static final float BALL_WARP_ALPHA_0 = 1.0f;
        public static final float BALL_WARP_ALPHA_1 = 0.8f;
        public static final float BALL_WARP_ALPHA_2 = 0.6f;
        public static final float BALL_WARP_ALPHA_3 = 0.4f;
       
        public static final float BALL_WARP_GROWTH = 120.0f;
        public static final float BALL_WARP_FADE = 1.0f;
       
        // PlayField constants
        public static final float PLAYFIELD_BORDER_X = 5.0f;
        public static final float PLAYFIELD_BORDER_Y = 9.0f;
        public static final float PLAYFIELD_IMPACT_LIFETIME = 0.75f;
        public static final float PLAYFIELD_IMPACT_SIZE = 48.0f;
        public static final float PLAYFIELD_IMPACT_SIZE_GROWTH = 48.0f;
        public static final float PLAYFIELD_IMPACT_OFFSET_Y = 2.0f;
       
        // Score bar constants
        public static final float SCOREBAR_MARGIN_X = 10.0f;
        public static final float SCOREBAR_MARGIN_Y = 5.0f;
       
        // Menu bar constants
        public static final float MENUBAR_OFFSET_X = 10.0f;
        public static final float MENUBAR_AD_WIDTH_DIP = 320.0f;

        // Pause screen constants
        public static final float PAUSE_TITLE_TEXT_SCALE = 3.0f;
        public static final float PAUSE_TITLE_TEXT_POSITION_Y = 120.0f;
        public static final float PAUSE_MENU_TEXT_SCALE = 2.0f;
        public static final float PAUSE_MENU_RESTART_POSITION_Y = 230.0f;
        public static final float PAUSE_MENU_QUIT_POSITION_Y = 280.0f;
        public static final float PAUSE_BG_HEIGHT = 320.0f;
        public static final float PAUSE_MENU_POPUP_TIME = 0.25f;
       
        // Score Display constants
        public static final float SCORE_DISPLAY_ACCEL = 3.0f;
        public static final float SCORE_DISPLAY_SIZE_END = 250.0f;
        public static final float SCORE_DISPLAY_SIZE_BEGIN = 550.0f;

        // Monkey/Banana constants
        public static final int MONKEY_COUNT_X = 6;
        public static final int MONKEY_COUNT_Y = 4;
        public static final float MONKEY_MOVE_SPEED = 1.0f;
        public static final float MONKEY_MIN_SIZE = 100.0f;
        public static final float MONKEY_MAX_SIZE = 200.0f;
        public static final float MONKEY_POSITION_SPREAD_FACTOR = 0.5f;
        public static final float MONKEY_MAX_INTENSITY = 0.15f;
        public static final float FLOWER_MAX_INTENSITY = 0.45f;
        public static final float MONKEY_SPEED_FACTOR = 0.3f;
        public static final Vector4 MONKEY_COLOR = new Vector4(0.7f, 0.15f, 0.6f, 1.0f);
       
        // Crystal Hit counter constants
        public static final float CRYSTAL_HITCOUNTER_DISPLAY_TIME = 2.5f;
        public static final float CRYSTAL_HITCOUNTER_SCALE = 3.0f;
        public static final float CRYSTAL_HITCOUNTER_SCALE2 = 1.0f;


        // Powerup constants
        public static final float POWERUP_BUBBLE_SIZE = 56.0f;
        public static final float POWERUP_SIZE = 50.0f;
        public static final float POWERUP_WOBBLE_OFFSET = 4.0f;
        public static final float POWERUP_WOBBLE_SPEED = 5.0f;
        public static final float POWERUP_RANGE_X = 600.0f;
        public static final float POWERUP_SPAWN_TIME_MINIMUM = 2.0f;
        public static final float POWERUP_SPAWN_TIME_MAXIMUM = 3.0f; // 13.0f;
        public static final int   POWERUP_MAX_SPAWNED = 3;
        public static final float POWERUP_APPEAR_TIME = 0.5f;
       
        public static final int   POWERUP_SPARKLE_MAX_BUBBLES = 15;
        public static final float POWERUP_SPARKLE_GROWTH_MIN = 80.0f;
        public static final float POWERUP_SPARKLE_GROWTH_MAX = 120.0f;
        public static final float POWERUP_SPARKLE_MOVEMENT = 70.0f;
        public static final float POWERUP_SPARKLE_MIN_SIZE = 40.0f;
        public static final float POWERUP_SPARKLE_MAX_SIZE = 60.0f;
        public static final float POWERUP_SPARKLE_SPREAD = 10.0f;

        // Powerup effects constants
        public static final float POWERUP_CONCAVE_TIME = 5.0f;
       
        public static final float POWERUP_MOSAIC_TIME = 8.0f;
        public static final int   POWERUP_MOSAIC_OFFSCREEN_WIDTH = 128;
        public static final int   POWERUP_MOSAIC_OFFSCREEN_HEIGHT = 64;
        public static final float POWERUP_MOSAIC_FADE_TIME = 2.0f;
       
        public static final float POWERUP_FLOWER_TIME = 8.0f;
        public static final float POWERUP_FLOWER_FADE_TIME = 2.0f;
        public static final float POWERUP_FLOWER_PARTICLE_SIZE = 20.0f;
        public static final float POWERUP_FLOWER_PARTICLE_GROWTH = 30.0f;
        public static final float POWERUP_FLOWER_PARTICLE_INTERVAL = 0.03f;
        public static final float POWERUP_FLOWER_PARTICLE_LIFETIME = 2.5f;
        public static final float POWERUP_FLOWER_PARTICLE_SPREAD = 25.0f;
        public static final float POWERUP_FLOWER_PARTICLE_FADE_IN = 0.2f;
        public static final float POWERUP_FLOWER_PARTICLE_FADE_OUT = 1.0f;
        public static final int   POWERUP_FLOWER_MAX_PARTICLES = 200;
       
        public static final float POWERUP_SLOWMO_TIME = 4.0f;
        public static final float POWERUP_SLOWMO_FACTOR = 0.3f;

        public static final float POWERUP_CRYSTAL_SIZE = 32.0f;
        public static final float POWERUP_CRYSTAL_RADIUS = POWERUP_CRYSTAL_SIZE/2.0f;
        public static final float POWERUP_CRYSTAL_RADIUS_SQR = POWERUP_CRYSTAL_RADIUS*POWERUP_CRYSTAL_RADIUS;
        public static final float POWERUP_CRYSTAL_PARTICLE_DISTANCE = POWERUP_CRYSTAL_RADIUS*1.5f;      
        public static final int   POWERUP_CRYSTAL_MAX_PARTICLES = 50;
        public static final float POWERUP_CRYSTAL_PARTICLE_FADE_TIME = 0.6f;
        public static final float POWERUP_CRYSTAL_PARTICLE_GROWTH_TIME_MIN = 4.0f;
        public static final float POWERUP_CRYSTAL_PARTICLE_GROWTH_TIME_MAX = 8.0f;
        public static final int   POWERUP_CRYSTAL_PARTICLE_MAX_RESPAWN = 3;
        public static final float POWERUP_CRYSTAL_SHARDS_LIFETIME = 1.5f;
        public static final int   POWERUP_CRYSTAL_MAX_SHARDS = 3;
        public static final float POWERUP_CRYSTAL_SHARDS_SPREAD = 8.0f;
        public static final float POWERUP_CRYSTAL_SHARDS_SPREAD_SPEED = 20.0f;
        public static final float POWERUP_CRYSTAL_SHARDS_ROTATE_SPEED = 5.0f;
        public static final float POWERUP_CRYSTAL_SHARDS_MIN_SIZE = 16.0f;
        public static final float POWERUP_CRYSTAL_SHARDS_MAX_SIZE = 32.0f;
       
        // Powerup probabilities
        public static int POWERUP_PROBABILITY_CONCAVE = 2;
        public static int POWERUP_PROBABILITY_MOSAIC = 2;
        public static int POWERUP_PROBABILITY_FLOWER = 2;
        public static int POWERUP_PROBABILITY_HOURGLASS = 2;
        public static int POWERUP_PROBABILITY_CRYSTAL = 2;
        public static int POWERUP_PROBABILITY_BARRIER_HORIZONTAL = 2;
        public static int POWERUP_PROBABILITY_BARRIER_VERTICAL = 2;    
        public static int POWERUP_PROBABILITY_BOMB = 2;

        private GameConsts()
        {
        }

}