Carpetas
Contiene el analisis y estadisticas de los eventos obtenidos del juevo.
Contiene el procesamiento de los datasets, junto con los datasets modificados
Como registros y objetivos junto con los enunciados
Contiene las importaciones necesarias para que funciones pySimpleGui
驴Porque esta vacia?
Hace que la carpeta src se comporte como un m贸dulo
Por el simple hecho de existir
Ej: import SRC from constants.py
Contiene constantes globales de la aplicaci贸n. Como todas las rutas por donde nos manejamos en el juego y el nombre de todos los eventos que vamos a manejar
Controladores consumidos en la aplicaci贸n para administrar y acceder a estados
set()
Genera un objeto iterable (para cualquier tipo de dato) si es un string lo genera random y en si son nros los genera ordenados
@property
Es un decorador que viene por defecto con Python, y puede ser usado para modificar un m茅todo para que sea un atributo o propiedad.
*bads
Eje: event_type, *event_data = event.split() Empaqueta todos los datos
Ej [1,4,5,6,8,9]
En event_type me quedo con el 1
y en *event_data, me quedo coin todo el resto
@type.setter
Any
Tipo especial que indica un tipo sin restricciones. Todos los tipos son compatibles con Any y este es compatible con todos los tipos
Callable
observer
es un patr贸n de dise帽o de comportamiento que permite que algunos objetos notifiquen a otros objetos sobre cambios en su estado. Proporciona una forma de reaccionar a los eventos que suceden en otros objetos sin acoplarse a sus clases.
@dataclass
Este m贸dulo proporciona un decorador y funciones para agregar autom谩ticamente m茅todos especiales generados como __init__() a clases definidas por el usuario. El decorador devuelve la misma clase, no crea ninguna nueva
copy
Las declaraciones de asignaci贸n en Python no copian objetos, crean enlaces entre un objetivo y un objeto. A veces se necesita una copia para poder cambiar una copia sin cambiar la otra.
jsonify
una muestral json
self._difficulties = {
name: Difficulty(**definition) for name, definition in raw_difficulties.items()
}
Desempaca un diccionario en clave y valor
uuid
(Para generar una id unica)enum
Seleccionar tipos de datos como si fueran constantes.class EventNames(Enum):
START = 'inicio_partida'
TRY = 'intento'
END = 'fin'
Porque podemos hacer lo siguiente
print(EventNames.START)
#EventName.START
Esto nos sirve para comprobar que el usuario halla presionado START
if event_data['name'] == EventNames.START:
Sin necesidad de crear un constructor directamente apuntando a esta variable
Por que se usa el .value
? (Linea 61) event_data['name'].value
Porque nos queremos quedar con el valor, no con el nombre, que en el ejemplo de arriba seria 驴inicio_partida?
Por que accedemos usando el .get
? (Linea 62)
event_data.get('state', EventStates.DEFAULT).value
Porque en el caso de que no tenga valores la clave (key), retornamos valores por defecto.
Pregunta si existe state
y sino, retorna el DEFAULT
驴Inicializar en una ventana puntual?