core.config

config.py

Configuración global del juego FNAF en consola.

Define variables de estado, rutas de archivos, sonidos, locks y horarios de las habitaciones. También inicializa pygame y canales de audio.

 1"""
 2config.py
 3
 4Configuración global del juego FNAF en consola.
 5
 6Define variables de estado, rutas de archivos, sonidos, locks y horarios
 7de las habitaciones. También inicializa pygame y canales de audio.
 8"""
 9
10import os
11import warnings
12from threading import Event, Lock
13
14
15# Ignorar warnings de Pygame
16os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"
17warnings.filterwarnings("ignore", category=UserWarning)
18
19# Inicialización de Pygame
20import pygame
21pygame.init()
22
23# Evento global para detener threads
24stop_event = Event()
25
26# Ruta base absoluta del proyecto (carpeta raíz)
27BASE_DIR = os.path.abspath(os.path.dirname(__file__))
28BASE_DIR = os.path.abspath(os.path.join(BASE_DIR, ".."))
29
30# Estado del juego
31hora_actual = 0
32energia_actual = 100
33energia_agotada = False
34juego_activo = False
35motivo_game_over = None
36
37# Configuración general
38config = {
39    # Energía y tiempos
40    "energia_uso_linterna": 0,
41    "energia_uso_camara": 0,
42    "tiempo_avanzar_hora": 0,
43    "dificulta": "",
44
45    # Rutas de carpetas
46    "carpeta_sonidos": os.path.join(BASE_DIR, "sound"),
47    "carpeta_rooms": os.path.join(BASE_DIR, "rooms"),
48
49    # Sonidos globales
50    "sonido_powerdown": "powerdown.mp3",
51    "sonido_victoria": "victoria_time.mp3",
52    "sonido_jumpscare": "jumpscare.mp3",
53    "sonido_camara": "camara_sound.mp3",
54    "intro": "intro.wav",
55}
56
57# Locks globales para sincronización de threads
58movimiento_lock = Lock()
59muerte_lock = Lock()
60
61# Horario de turno
62horas = [
63    "10 AM", "11 AM", "12 AM", "01 AM", "02 AM", 
64    "03 AM", "04 AM", "05 AM", "06 AM"
65]
66
67# Habitaciones del mapa
68habitaciones = {
69    1: "Comedor",
70    2: "Escenario",
71    3: "Baños",
72    4: "Cocina",
73    5: "Pasillo Central",
74    6: "Bastidores",
75    7: "Cueva del Pirata",
76    8: "Oficina"
77}
78
79# Canales de audio
80canal_interface = pygame.mixer.Channel(1)
81canal_pasos_freddy = pygame.mixer.Channel(2)
82canal_pasos_bonnie = pygame.mixer.Channel(3)
83canal_pasos_chica = pygame.mixer.Channel(4)
84canal_pasos_foxy = pygame.mixer.Channel(5)
stop_event = <threading.Event at 0x1ff359bb050: unset>
BASE_DIR = 'C:\\Users\\tatil\\Desktop\\python_game\\fnaf_CMD'
hora_actual = 0
energia_actual = 100
energia_agotada = False
juego_activo = False
motivo_game_over = None
config = {'energia_uso_linterna': 0, 'energia_uso_camara': 0, 'tiempo_avanzar_hora': 0, 'dificulta': '', 'carpeta_sonidos': 'C:\\Users\\tatil\\Desktop\\python_game\\fnaf_CMD\\sound', 'carpeta_rooms': 'C:\\Users\\tatil\\Desktop\\python_game\\fnaf_CMD\\rooms', 'sonido_powerdown': 'powerdown.mp3', 'sonido_victoria': 'victoria_time.mp3', 'sonido_jumpscare': 'jumpscare.mp3', 'sonido_camara': 'camara_sound.mp3', 'intro': 'intro.wav'}
movimiento_lock = <unlocked _thread.lock object>
muerte_lock = <unlocked _thread.lock object>
horas = ['10 AM', '11 AM', '12 AM', '01 AM', '02 AM', '03 AM', '04 AM', '05 AM', '06 AM']
habitaciones = {1: 'Comedor', 2: 'Escenario', 3: 'Baños', 4: 'Cocina', 5: 'Pasillo Central', 6: 'Bastidores', 7: 'Cueva del Pirata', 8: 'Oficina'}
canal_interface = <pygame.mixer.Channel object>
canal_pasos_freddy = <pygame.mixer.Channel object>
canal_pasos_bonnie = <pygame.mixer.Channel object>
canal_pasos_chica = <pygame.mixer.Channel object>
canal_pasos_foxy = <pygame.mixer.Channel object>