Skip to content

eduaserr/El-impostor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

🎮 El Impostor

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).

⭐ Características Principales

  • 🎨 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

📁 Estructura del Proyecto

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

📝 Descripción de Archivos

impostor.py

Versión original del juego en consola. Funciona completamente en la terminal sin interfaz gráfica.

Desktop/ - Versión PC

  • 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.

Phone/ - Versión Móvil

  • impostorGUIphone.py: Interfaz gráfica con tkinter, optimizada para dispositivos móviles.
  • impostorLogicapk.py: Lógica del juego para la versión móvil.

🎯 Características

Ediciones de Juego

  • 📦 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)

Configuración de Partida

  • 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

Sistema de Revelación

  • Cada jugador ve su rol en privado
  • Los tripulantes conocen la ubicación
  • Los impostores NO ven la ubicación real

Funciones Adicionales

  • 🔄 Jugar de nuevo: Mantiene los mismos jugadores y randomiza roles/ubicación
  • 📱 Versiones para escritorio y móvil
  • 🎨 Interfaz moderna con tema oscuro

🚀 Instalación y Ejecución

Requisitos Previos

  • Python 3.8 o superior
  • pip (gestor de paquetes de Python)

Instalación

  1. Clonar o descargar el proyecto:

    cd ImpostorGame
  2. Crear entorno virtual (recomendado):

    python3 -m venv venv
    source venv/bin/activate  # En Linux/Mac
    # o
    venv\Scripts\activate     # En Windows
  3. 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

▶️ Ejecutar el Juego

Versión Consola (simple):

python3 impostor.py

Versión Desktop (Flet - recomendada):

cd Desktop
python3 impostorGUI.py

Versión Phone (tkinter):

cd Phone
python3 impostorGUIphone.py

📦 Compilar Ejecutable (Opcional)

Compilar versión Desktop con Flet:

cd 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

🎮 Cómo Jugar

  1. Selecciona una edición:

    • Elige entre CLASIC EDITION, CS2 EDITION o tus ediciones personalizadas
    • 💡 Tip: Puedes crear tus propias ediciones desde "Gestionar Ediciones"
  2. 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
  3. Ingresa los nombres de todos los jugadores

  4. 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 "???")
  5. 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

🎨 Gestionar Ediciones Personalizadas

  1. Desde el menú principal, pulsa "Gestionar Ediciones"
  2. 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
  3. Editar/Eliminar:
    • Usa los botones ✏️ para editar o 🗑️ para eliminar

🛠️ Tecnologías Utilizadas

  • 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

👤 Autor

eduaserr


📄 Licencia

Este proyecto es de código abierto y está disponible para uso personal y educativo.

About

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).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages