import math # game settings WIDTH = 1920 HEIGHT = 1080 HALF_WIDTH = WIDTH // 2 HALF_HEIGHT = HEIGHT // 2 PENTA_HEIGHT = 5 * HEIGHT DOUBLE_HEIGHT = 2 * HEIGHT FPS = 60 TILE = 100 FPS_POS = (WIDTH - 65, 5) # minimap settings MINIMAP_SCALE = 5 MINIMAP_RES = (WIDTH // MINIMAP_SCALE, HEIGHT // MINIMAP_SCALE) MAP_SCALE = 1.25 * MINIMAP_SCALE # 1 -> 12 x 8, 2 -> 24 x 16, 3 -> 36 x 24 MAP_TILE = TILE // MAP_SCALE MAP_POS = (0, HEIGHT - HEIGHT // MINIMAP_SCALE) # ray casting settings FOV = math.pi / 3 HALF_FOV = FOV / 2 NUM_RAYS = 300 MAX_DEPTH = 800 DELTA_ANGLE = FOV / NUM_RAYS DIST = NUM_RAYS / (2 * math.tan(HALF_FOV)) PROJ_COEFF = 3 * DIST * TILE SCALE = WIDTH // NUM_RAYS # sprite settings DOUBLE_PI = math.pi * 2 CENTER_RAY = NUM_RAYS // 2 - 1 FAKE_RAYS = 100 FAKE_RAYS_RANGE = NUM_RAYS - 1 + 2 * FAKE_RAYS # texture settings (1200 x 1200) TEXTURE_WIDTH = 1200 TEXTURE_HEIGHT = 1200 HALF_TEXTURE_HEIGHT = TEXTURE_HEIGHT // 2 TEXTURE_SCALE = TEXTURE_WIDTH // TILE # player settings player_pos = (HALF_WIDTH // 4, HALF_HEIGHT - 50) player_angle = 0 player_speed = 3 PLAYER_HEALTH = 100 # colors WHITE = (255, 255, 255) BLACK = (0, 0, 0) RED = (220, 0, 0) GREEN = (0, 80, 0) BLUE = (0, 0, 255) DARKGRAY = (40, 40, 40) PURPLE = (120, 0, 120) SKYBLUE = (0, 186, 255) YELLOW = (220, 220, 0) SANDY = (244, 164, 96) DARKBROWN = (97, 61, 25) DARKORANGE = (255, 140, 0)