Juego de roles basado en Among Us donde los jugadores deben descubrir quiénes son los impostores. Disponible en versión de escritorio (Flet) y versión móvil (tkinter).
- 🎨 Ediciones Personalizables: Crea, edita y elimina tus propias ediciones con las ubicaciones que quieras
- 🎲 Modo Aleatorio: Número de impostores aleatorio para mayor diversión
- 💾 Persistencia de Datos: Tus ediciones personalizadas se guardan automáticamente entre sesiones
- 👥 Flexible: De 3 a 20 jugadores
- 🔄 Jugar de Nuevo: Reinicia rápidamente con los mismos jugadores
ImpostorGame/
├── impostor.py # Versión 1.0 (consola/terminal)
├── Desktop/ # Versión para PC
│ ├── impostorGUI.py # Interfaz gráfica con Flet
│ └── impostorLogic.py # Lógica del juego
├── Phone/ # Versión para móvil
│ ├── impostorGUIphone.py # Interfaz gráfica con tkinter
│ └── impostorLogicapk.py # Lógica del juego
└── README.md
Versión original del juego en consola. Funciona completamente en la terminal sin interfaz gráfica.
impostorGUI.py: Interfaz gráfica moderna con Flet. Incluye pantallas de selección de edición, configuración, ingreso de nombres, revelación de roles y pantalla final.impostorLogic.py: Contiene toda la lógica del juego (validación, asignación de roles, gestión de jugadores). Independiente de la interfaz.
impostorGUIphone.py: Interfaz gráfica con tkinter, optimizada para dispositivos móviles.impostorLogicapk.py: Lógica del juego para la versión móvil.
-
📦 Ediciones predefinidas:
- CLASIC EDITION: Ubicaciones universales (Aeropuerto, Hospital, Cine, Playa, etc.)
- CS2 EDITION: Mapas de Counter-Strike 2 (Dust II, Mirage, Inferno, etc.)
-
✨ Ediciones personalizadas:
- ✅ Crea tus propias ediciones con las ubicaciones que quieras
- ✏️ Edita ediciones existentes
- 🗑️ Elimina ediciones que ya no uses
- 💾 Guardado automático en archivo JSON (persisten entre sesiones)
- Número de jugadores: 3-20
- Impostores:
- 🎯 Modo Manual: Elige exactamente cuántos impostores quieres
- 🎲 Modo Aleatorio: El juego selecciona un número aleatorio de impostores
- Cada jugador ve su rol en privado
- Los tripulantes conocen la ubicación
- Los impostores NO ven la ubicación real
- 🔄 Jugar de nuevo: Mantiene los mismos jugadores y randomiza roles/ubicación
- 📱 Versiones para escritorio y móvil
- 🎨 Interfaz moderna con tema oscuro
- Python 3.8 o superior
- pip (gestor de paquetes de Python)
-
Clonar o descargar el proyecto:
cd ImpostorGame -
Crear entorno virtual (recomendado):
python3 -m venv venv source venv/bin/activate # En Linux/Mac # o venv\Scripts\activate # En Windows
-
Instalar dependencias:
Para la versión Desktop (Flet):
pip install flet
Para la versión Phone (tkinter):
# tkinter viene preinstalado con Python # Si no está disponible: sudo apt-get install python3-tk # En Debian/Ubuntu
python3 impostor.pycd Desktop
python3 impostorGUI.pycd Phone
python3 impostorGUIphone.pycd Desktop
flet build linux --module-name impostorGUI
# El ejecutable estará en: build/linux/Opciones para otras plataformas:
flet build windows --module-name impostorGUI # Windows
flet build macos --module-name impostorGUI # macOS-
Selecciona una edición:
- Elige entre CLASIC EDITION, CS2 EDITION o tus ediciones personalizadas
- 💡 Tip: Puedes crear tus propias ediciones desde "Gestionar Ediciones"
-
Configura el juego:
- Número de jugadores (3-20)
- Número de impostores:
- Manual: Elige un número específico
- 🎲 Aleatorio: Pulsa "Impostores Aleatorios" para sorprender
-
Ingresa los nombres de todos los jugadores
-
Revelación de roles:
- Cada jugador pulsa "VER MI ROL" en privado
- Tripulantes ven la ubicación donde están
- Impostores no ven la ubicación (aparece como "???")
-
Al finalizar:
- Se revela la ubicación real
- Opción de "Jugar de nuevo" para otra partida rápida
- Opción de "Menú Principal" para cambiar configuración
- Desde el menú principal, pulsa "Gestionar Ediciones"
- Crear nueva edición:
- Pulsa "Nueva Edición"
- Escribe el nombre (ej: "PELÍCULA EDITION")
- Añade ubicaciones separadas por comas (mínimo 5)
- Guarda
- Editar/Eliminar:
- Usa los botones ✏️ para editar o 🗑️ para eliminar
- Python 3.13
- Flet 0.80.4 - Framework moderno para interfaces multiplataforma
- tkinter - Biblioteca estándar de Python para interfaces gráficas
- JSON - Almacenamiento de ediciones personalizadas
- random - Generación de números aleatorios para roles y ubicaciones
eduaserr
Este proyecto es de código abierto y está disponible para uso personal y educativo.