52 lines
1.2 KiB
Odin
52 lines
1.2 KiB
Odin
package game
|
|
|
|
import rl "vendor:raylib"
|
|
|
|
MAP_W :: 30 // map width in tiles
|
|
MAP_H :: 20 // map height in tiles
|
|
TILE_SIZE :: 32 // size of tiles in pixels
|
|
|
|
SCREEN_W :: MAP_W * TILE_SIZE
|
|
SCREEN_H :: MAP_H * TILE_SIZE
|
|
|
|
DEFAULT_WINDOW_W :: 1280
|
|
DEFAULT_WINDOW_H :: 720
|
|
|
|
MAX_ENEMIES :: 64
|
|
MAX_WAVES :: 5
|
|
MAX_TOWERS :: 32
|
|
|
|
TOWER_COST :: 50
|
|
|
|
MAX_PROJECTILES :: 64
|
|
PROJECTILE_SPEED :: 280 // pixels per second
|
|
PROJECTILE_HIT_RADIUS :: 10
|
|
CANNON_PROJECTILES_SPEED :: 320.0
|
|
|
|
OVERLAY_BAR_H :: 28
|
|
OVERLAY_PADDING :: 6
|
|
OVERLAY_BAR_COLOR :: rl.Color{20, 24, 20, 200}
|
|
OVERLAY_GOLD_COLOR :: rl.Color{255, 215, 80, 255}
|
|
OVERLAY_TEXT_COLOR :: rl.Color{240, 240, 230, 255}
|
|
OVERLAY_FONT_SIZE :: 18
|
|
|
|
CONTROL_BAR_H :: 40
|
|
CONTROL_BAR_BG :: rl.Color{30, 55, 30, 220}
|
|
CONTROL_BUTTON_COLOR :: rl.Color{60, 120, 60, 255}
|
|
CONTROL_BUTTON_HOVER :: rl.Color{60, 150, 60, 255}
|
|
|
|
CONTROLS_SHOP_IDLE :: rl.Color{45, 75, 45, 255}
|
|
CONTROL_SHOP_SELECTED :: rl.Color{70, 110, 70, 255}
|
|
CONTROLS_SHOP_HOVER :: rl.Color{90, 130, 90, 255}
|
|
|
|
ICE_SLOW_DURATION :: 2.5
|
|
ICE_SLOW_FACTOR :: 0.5
|
|
|
|
ENEMY_LABEL_COLOR :: rl.Color{255, 200, 200, 255}
|
|
|
|
// starting values for the game
|
|
STARTING_BASE_HEALTH :: 20
|
|
STARTING_PHASE = .Build
|
|
STARTING_GOLD :: 100
|
|
|