Escape Room: La Casa Sin Salida es un juego de texto interactivo desarrollado completamente en Python como parte del Bootcamp de Análisis de Datos de Ironhack.
El jugador despierta en una casa desconocida sin recordar cómo llegó allí.
Para escapar, debe explorar habitaciones, examinar objetos y resolver desafíos, encontrando llaves ocultas y respondiendo preguntas aleatorias tipo quiz.
Este proyecto combina:
- 🧩 Programación modular (separación entre lógica y datos)
- 🧠 Toma de decisiones en tiempo real
- 🎨 Visuales dinámicos (GIFs) para mejorar la inmersión
- 🎯 Manejo de errores y control de recursividad
- Python 3.10+
- Jupyter Notebook (recomendado)
- Librerías necesarias:
pip install ipython pip install jupyter
git clone https://github.com/tuusuario/EscapeRoom-LaCasaSinSalidda.git
cd EscapeRoom-LaCasaSinSaliddaAbre el Notebook de Jupyter:
jupyter notebook Juego.ipynbO ejecútalo directamente desde Python:
import Funciones_juego as juego
juego.set_world(object_relations)
juego.set_state(copy.deepcopy(INIT_GAME_STATE))
juego.start_game()[Sala de Juegos]
├── (Puerta A) → [Dormitorio 1]
│ ├── (Puerta B) → [Dormitorio 2]
│ └── (Puerta C) → [Sala de Estar]
│ └── (Puerta D) → [Exterior]
| Llave | Encontrada en | Abre |
|---|---|---|
| 🔑 Llave A | Piano (Sala de Juegos) | Puerta A |
| 🔑 Llave B | Cama Queen (Dormitorio 1) | Puerta B |
| 🔑 Llave C | Cama Doble (Dormitorio 2) | Puerta C |
| 🔑 Llave D | Tocador (Dormitorio 2) | Puerta D |
- Ejecuta el juego en Jupyter Notebook.
- Comenzarás en la Sala de Juegos.
- Escribe explorar para ver los objetos de la habitación.
- Escribe examinar [nombre del objeto] para interactuar con los elementos.
- Encuentra llaves ocultas en los muebles para abrir puertas.
- Para abrir una puerta, responde correctamente a una pregunta aleatoria.
- Muévete entre habitaciones hasta escapar de la casa.
- Puedes salir del juego en cualquier momento escribiendo salir, exit o esc.
- Contiene un sofá, un piano y la Puerta A.
- El piano esconde la primera llave (Llave A).
- Contiene una cama queen, las puertas A, B y C.
- Debajo de la cama queen se encuentra la Llave B (abre la Puerta B).
- Contiene una cama doble, un tocador y la Puerta B.
- La cama doble esconde la Llave C (abre la Puerta C).
- El tocador contiene la Llave D (abre la Puerta D).
- Contiene una mesa de comedor, la Puerta C y la Puerta D.
- La Puerta D es la última salida antes de la libertad.
- ¡Has escapado con éxito!
- El GIF final celebra tu victoria.
EscapeRoom-LaCasaSinSalidda/
│
├── Juego.ipynb # Notebook de Jupyter (definición del mundo + ejecución)
├── Funciones_juego.py # Lógica del juego y funciones principales
│
├── README.md # Documentación del proyecto (este archivo)
└── /assets # (Opcional) GIFs o imágenes usadas en el juego
| Función | Descripción |
|---|---|
start_game() |
Inicia la historia y lanza el juego. |
play_room(room) |
Controla las decisiones del jugador (explorar, examinar, salir). |
explore_room(room) |
Muestra los objetos de la habitación actual. |
examine_item(item_name) |
Gestiona las interacciones, obtención de llaves y apertura de puertas. |
random_quiz() |
Genera una pregunta aleatoria antes de abrir una puerta. |
get_next_room_of_door() |
Determina a qué habitación se pasa al abrir una puerta. |
linebreak() |
Mejora la legibilidad del texto agregando saltos de línea. |
👤 Elías Chafih
👤 Ignacio Sabatell
👤 Adrián Rubio
Desarrollado como proyecto de la Week 1 de Python para el Bootcamp de Análisis de Datos de Ironhack (2025).
- Preguntas aleatorias antes de abrir cada puerta.
- GIFs integrados para mejorar la experiencia visual.
- Comando de salida limpio (
salir,exit,esc). - Mensajes con humor (“Eres mu tonto... Sigue intentándolo 😄”).
