Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
269 chris 1
package com.gebauz.pingk.game;
2
 
3
import com.gebauz.Bauzoid.math.Vector4;
4
 
5
public class GameConsts
6
{      
7
        // General constants
8
        public static final String LOG_TAG = "GEBAUZ"; 
9
 
10
        public static final float VIRTUAL_SCREEN_WIDTH = 800.0f;
11
        public static final float VIRTUAL_SCREEN_HEIGHT = 480.0f;
12
        public static final float SCORE_BAR_HEIGHT = 60.0f;             // height of the menu/score/icon/ad bar in dp
13
 
14
        public static final float FADE_TIME = 0.5f;
15
        public static final float BUTTON_TOUCH_TOLERANCE = 10.0f;
16
 
17
        public static final float SCREENFLASH_SCORE_TIME = 0.3f;                // time for pingk flashing when scoring 
18
        public static final float SCREENFLASH_BALLSPAWN_TIME = 0.5f;            // time for pingk flashing when ball spawning
19
 
20
        public static final Vector4 PINGK_COLOR = new Vector4(1.0f, 0.0f, 0.6f, 1.0f);
21
 
22
        // Preferences constants
23
        public static final String PREF_NAME = "pingKSettings";
24
        public static final String PREF_AUDIO_ENABLED = "AudioEnabled";
25
        public static final String PREF_MUSIC_ENABLED = "MusicEnabled";
26
 
27
        // Log screen constants
28
        public static final float LOGO_TIMEOUT = 8.0f;
29
        public static final float LOGO_GEBAUZ_WIDTH = 256.0f;
30
        public static final float LOGO_GEBAUZ_HEIGHT = 64.0f;
31
        public static final float LOGO_GEBAUZ_SHOW = 1.5f;
32
        public static final float LOGO_GEBAUZ_FADE_TIME = 1.0f;
33
 
34
        // Title screen constants
35
        public static final float TITLE_FLASH_INTERVAL = 6.0f;
36
        public static final float TITLE_POSITION_Y = 30.0f;
37
        public static final float TITLE_WIDTH = 450.0f;
38
        public static final float TITLE_HEIGHT = 220.0f;
39
        public static final float TITLE_MENU_TEXT_SCALE = 2.5f;
40
 
41
        // Paddle constants
42
        public static final int NUM_PADDLES = 2;
43
 
44
        public static final float PADDLE_DISTANCE_FROM_EDGE_X = 40.0f;
45
        public static final float PADDLE_DISTANCE_FROM_EDGE_Y = 5.0f;
46
        public static final float PADDLE_WIDTH = 40;
47
        public static final float PADDLE_HEIGHT = 80;
48
 
49
        public static final float PADDLE_IMPACT_WIDTH = 40;
50
        public static final float PADDLE_IMPACT_HEIGHT = 80;
51
        public static final float PADDLE_IMPACT_LIFETIME = 0.4f;
52
        public static final float PADDLE_IMPACT_CONCAVE_OFFSET = 25.0f;
53
 
54
        public static final float PADDLE_INPUT_ACCEL = 15.0f;
55
        public static final float PADDLE_HIT_OFFSET = 5.0f;
56
        public static final float PADDLE_HIT_ZONE_DEVIATION = 0.4f;             // angle coefficient for the paddle's bendedness 
57
 
58
        public static final float PADDLE_AI_TIMEOUT = 5.0f;
59
        public static final float PADDLE_AI_VARIANCE = 10.0f;
60
        public static final float PADDLE_AI_VARIANCE2 = 60.0f; 
61
        public static final float PADDLE_AI_RANDOM_TIMER = 2.0f;
62
        public static final float PADDLE_AI_ACCEL = 7.0f;
63
        public static final float PADDLE_AI_ACCEL_SLOW = 1.5f;
64
 
65
        // Ball constants
66
        public static final float BALL_SIZE = 16.0f;
67
        public static final float BALL_INITIAL_SPEED = 300.0f;
68
        public static final float BALL_TOP_SPIN_INTENSITY = 0.18f;
69
 
70
        public static final float BALL_SPEEDUP_TIMER = 1.0f;
71
        public static final float BALL_SPEEDUP_INCREASE = 12.00f;
72
 
73
        public static final float BALL_MAXIMUM_ANGULAR_SPEED = 500.0f;
74
        public static final float BALL_ANGULAR_SPEED_DECREASE = 10.0f;
75
 
76
        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
77
        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
78
        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
79
 
80
        public static final float BALL_TRAIL_WIDTH = 5.0f;
81
        public static final int   BALL_TRAIL_LENGTH = 20;                       // number of points for the trail
82
        public static final float BALL_TRAIL_INTERVAL = 0.05f;          // interval in seconds at which the trail gets another point
83
        public static final float BALL_TRAIL_MAX_ALPHA = 0.7f;
84
        public static final float BALL_TRAIL_ELEMENT_LIFETIME = 1.0f;
85
 
86
        public static final float BALL_WARP_SIZE_0 = 10.0f;
87
        public static final float BALL_WARP_SIZE_1 = 35.0f;
88
        public static final float BALL_WARP_SIZE_2 = 60.0f;
89
        public static final float BALL_WARP_SIZE_3 = 85.0f;
90
 
91
        public static final float BALL_WARP_ALPHA_0 = 1.0f;
92
        public static final float BALL_WARP_ALPHA_1 = 0.8f;
93
        public static final float BALL_WARP_ALPHA_2 = 0.6f;
94
        public static final float BALL_WARP_ALPHA_3 = 0.4f;
95
 
96
        public static final float BALL_WARP_GROWTH = 120.0f;
97
        public static final float BALL_WARP_FADE = 1.0f;
98
 
99
        // PlayField constants
100
        public static final float PLAYFIELD_BORDER_X = 5.0f;
101
        public static final float PLAYFIELD_BORDER_Y = 9.0f;
102
        public static final float PLAYFIELD_IMPACT_LIFETIME = 0.75f;
103
        public static final float PLAYFIELD_IMPACT_SIZE = 48.0f;
104
        public static final float PLAYFIELD_IMPACT_SIZE_GROWTH = 48.0f;
105
        public static final float PLAYFIELD_IMPACT_OFFSET_Y = 2.0f;
106
 
107
        // Score bar constants
108
        public static final float SCOREBAR_MARGIN_X = 10.0f;
109
        public static final float SCOREBAR_MARGIN_Y = 5.0f;
110
 
111
        // Menu bar constants
112
        public static final float MENUBAR_OFFSET_X = 10.0f;
113
        public static final float MENUBAR_AD_WIDTH_DIP = 320.0f;
114
 
115
        // Pause/Help/Options screen constants
116
        public static final float PAUSE_TITLE_TEXT_SCALE = 3.0f;
117
        public static final float PAUSE_TITLE_TEXT_POSITION_Y = 90.0f;
118
        public static final float PAUSE_MENU_TEXT_SCALE = 2.0f;
119
        public static final float PAUSE_MENU_RESTART_POSITION_Y = 170.0f;
120
        public static final float PAUSE_MENU_HELP_POSITION_Y = 210.0f;
121
        public static final float PAUSE_MENU_MUSIC_ONOFF_POSITION_Y = 250.0f;
122
        public static final float PAUSE_MENU_QUIT_POSITION_Y = 290.0f;
123
        public static final float PAUSE_BG_HEIGHT = 320.0f;
124
        public static final float PAUSE_MENU_POPUP_TIME = 0.25f;
125
        public static final float HELP_MENU_POPUP_TIME = PAUSE_MENU_POPUP_TIME;
126
        public static final float HELP_BG_HEIGHT = 350.0f;
127
        public static final float HELP_MENU_TEXT_SCALE = 2.0f;
128
        public static final float HELP_MENU_NAV_ICON_SIZE = 64.0f;
129
 
130
        // Score Display constants
131
        public static final float SCORE_DISPLAY_ACCEL = 3.0f;
132
        public static final float SCORE_DISPLAY_SIZE_END = 250.0f;
133
        public static final float SCORE_DISPLAY_SIZE_BEGIN = 550.0f;
134
 
135
        // Monkey/Banana constants
136
        public static final int MONKEY_COUNT_X = 6;
137
        public static final int MONKEY_COUNT_Y = 4;
138
        public static final float MONKEY_MOVE_SPEED = 1.0f;
139
        public static final float MONKEY_MIN_SIZE = 100.0f;
140
        public static final float MONKEY_MAX_SIZE = 200.0f;
141
        public static final float MONKEY_POSITION_SPREAD_FACTOR = 0.5f;
142
        public static final float MONKEY_MAX_INTENSITY = 0.15f;
143
        public static final float FLOWER_MAX_INTENSITY = 0.45f;
144
        public static final float MONKEY_SPEED_FACTOR = 0.3f;
145
        public static final Vector4 MONKEY_COLOR = new Vector4(0.7f, 0.15f, 0.6f, 1.0f);
146
 
147
        // Crystal Hit counter constants
148
        public static final float CRYSTAL_HITCOUNTER_DISPLAY_TIME = 2.5f;
149
        public static final float CRYSTAL_HITCOUNTER_SCALE = 3.0f;
150
        public static final float CRYSTAL_HITCOUNTER_SCALE2 = 1.0f;
151
 
152
 
153
        // Powerup constants
154
        public static final float POWERUP_BUBBLE_SIZE = 56.0f;
155
        public static final float POWERUP_SIZE = 50.0f;
156
        public static final float POWERUP_WOBBLE_OFFSET = 4.0f;
157
        public static final float POWERUP_WOBBLE_SPEED = 5.0f;
158
        public static final float POWERUP_RANGE_X = 600.0f;
159
        public static final float POWERUP_SPAWN_TIME_MINIMUM = 2.0f;
160
        public static final float POWERUP_SPAWN_TIME_MAXIMUM = 3.0f; // 13.0f;
161
        public static final int   POWERUP_MAX_SPAWNED = 3;
162
        public static final float POWERUP_APPEAR_TIME = 0.5f;
163
 
164
        public static final int   POWERUP_SPARKLE_MAX_BUBBLES = 15;
165
        public static final float POWERUP_SPARKLE_GROWTH_MIN = 80.0f;
166
        public static final float POWERUP_SPARKLE_GROWTH_MAX = 120.0f;
167
        public static final float POWERUP_SPARKLE_MOVEMENT = 70.0f;
168
        public static final float POWERUP_SPARKLE_MIN_SIZE = 40.0f;
169
        public static final float POWERUP_SPARKLE_MAX_SIZE = 60.0f;
170
        public static final float POWERUP_SPARKLE_SPREAD = 10.0f;
171
 
172
        // Powerup effects constants
173
        public static final float POWERUP_CONCAVE_TIME = 5.0f;
174
 
175
        public static final float POWERUP_MOSAIC_TIME = 8.0f;
176
        public static final int   POWERUP_MOSAIC_OFFSCREEN_WIDTH = 128;
177
        public static final int   POWERUP_MOSAIC_OFFSCREEN_HEIGHT = 64;
178
        public static final float POWERUP_MOSAIC_FADE_TIME = 2.0f;
179
 
180
        public static final float POWERUP_FLOWER_TIME = 8.0f;
181
        public static final float POWERUP_FLOWER_FADE_TIME = 2.0f;
182
        public static final float POWERUP_FLOWER_PARTICLE_SIZE = 20.0f;
183
        public static final float POWERUP_FLOWER_PARTICLE_GROWTH = 30.0f;
184
        public static final float POWERUP_FLOWER_PARTICLE_INTERVAL = 0.03f;
185
        public static final float POWERUP_FLOWER_PARTICLE_LIFETIME = 2.5f;
186
        public static final float POWERUP_FLOWER_PARTICLE_SPREAD = 25.0f;
187
        public static final float POWERUP_FLOWER_PARTICLE_FADE_IN = 0.2f;
188
        public static final float POWERUP_FLOWER_PARTICLE_FADE_OUT = 1.0f;
189
        public static final int   POWERUP_FLOWER_MAX_PARTICLES = 200;
190
 
191
        public static final float POWERUP_SLOWMO_TIME = 4.0f;
192
        public static final float POWERUP_SLOWMO_FACTOR = 0.3f;
193
 
194
        public static final float POWERUP_CRYSTAL_SIZE = 32.0f;
195
        public static final float POWERUP_CRYSTAL_RADIUS = POWERUP_CRYSTAL_SIZE/2.0f;
196
        public static final float POWERUP_CRYSTAL_RADIUS_SQR = POWERUP_CRYSTAL_RADIUS*POWERUP_CRYSTAL_RADIUS;
197
        public static final float POWERUP_CRYSTAL_PARTICLE_DISTANCE = POWERUP_CRYSTAL_RADIUS*1.5f;      
198
        public static final int   POWERUP_CRYSTAL_MAX_PARTICLES = 50;
199
        public static final float POWERUP_CRYSTAL_PARTICLE_FADE_TIME = 0.6f;
200
        public static final float POWERUP_CRYSTAL_PARTICLE_GROWTH_TIME_MIN = 4.0f;
201
        public static final float POWERUP_CRYSTAL_PARTICLE_GROWTH_TIME_MAX = 8.0f;
202
        public static final int   POWERUP_CRYSTAL_PARTICLE_MAX_RESPAWN = 3;
203
        public static final float POWERUP_CRYSTAL_SHARDS_LIFETIME = 1.5f;
204
        public static final int   POWERUP_CRYSTAL_MAX_SHARDS = 3;
205
        public static final float POWERUP_CRYSTAL_SHARDS_SPREAD = 8.0f;
206
        public static final float POWERUP_CRYSTAL_SHARDS_SPREAD_SPEED = 20.0f;
207
        public static final float POWERUP_CRYSTAL_SHARDS_ROTATE_SPEED = 5.0f;
208
        public static final float POWERUP_CRYSTAL_SHARDS_MIN_SIZE = 16.0f;
209
        public static final float POWERUP_CRYSTAL_SHARDS_MAX_SIZE = 32.0f;
210
 
211
        public static final int   POWERUP_BARRIERS_MAX_PARTICLES = 10;
212
        public static final float POWERUP_BARRIERS_LENGTH = 64.0f;
213
        public static final float POWERUP_BARRIERS_WIDTH = 8.0f;
214
        public static final float POWERUP_BARRIERS_GROWTH_TIME = 0.5f;
215
        public static final float POWERUP_BARRIERS_FLICKER_TIME = 1.0f;
216
        public static final float POWERUP_BARRIERS_WAGGLE = 2.0f;
217
 
218
        // Powerup probabilities
219
        public static final int POWERUP_PROBABILITY_CONCAVE = 2;
220
        public static final int POWERUP_PROBABILITY_MOSAIC = 2;
221
        public static final int POWERUP_PROBABILITY_FLOWER = 2;
222
        public static final int POWERUP_PROBABILITY_HOURGLASS = 2;
223
        public static final int POWERUP_PROBABILITY_CRYSTAL = 2;
224
        public static final int POWERUP_PROBABILITY_BARRIER_HORIZONTAL = 3;
225
        public static final int POWERUP_PROBABILITY_BARRIER_VERTICAL = 5;      
226
        public static final int POWERUP_PROBABILITY_BOMB = 2;
227
 
228
 
229
        private GameConsts()
230
        {
231
        }
232
 
233
}