Skip to content

adrianrubio-data/Escape-Room-Project

 
 

Repository files navigation

🗝️ Escape Room: La Casa Sin Salida

1️⃣ Introducción

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

2️⃣ Instalación

Requisitos

  • Python 3.10+
  • Jupyter Notebook (recomendado)
  • Librerías necesarias:
    pip install ipython
    pip install jupyter

Clonar el repositorio

git clone https://github.com/tuusuario/EscapeRoom-LaCasaSinSalidda.git
cd EscapeRoom-LaCasaSinSalidda

Ejecutar el juego

Abre el Notebook de Jupyter:

jupyter notebook Juego.ipynb

O 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()

3️⃣ Mapa del Juego

[Sala de Juegos]
  ├── (Puerta A) → [Dormitorio 1]
  │       ├── (Puerta B) → [Dormitorio 2]
  │       └── (Puerta C) → [Sala de Estar]
  │                           └── (Puerta D) → [Exterior]

Ubicación de las Llaves

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

4️⃣ Cómo Jugar

  1. Ejecuta el juego en Jupyter Notebook.
  2. Comenzarás en la Sala de Juegos.
  3. Escribe explorar para ver los objetos de la habitación.
  4. Escribe examinar [nombre del objeto] para interactuar con los elementos.
  5. Encuentra llaves ocultas en los muebles para abrir puertas.
  6. Para abrir una puerta, responde correctamente a una pregunta aleatoria.
  7. Muévete entre habitaciones hasta escapar de la casa.
  8. Puedes salir del juego en cualquier momento escribiendo salir, exit o esc.

5️⃣ Descripción de las Habitaciones

Mapa del Escape Room

🎮 Sala de Juegos

  • Contiene un sofá, un piano y la Puerta A.
  • El piano esconde la primera llave (Llave A).

🛏️ Dormitorio 1

  • Contiene una cama queen, las puertas A, B y C.
  • Debajo de la cama queen se encuentra la Llave B (abre la Puerta B).

🛌 Dormitorio 2

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

🪑 Sala de Estar

  • Contiene una mesa de comedor, la Puerta C y la Puerta D.
  • La Puerta D es la última salida antes de la libertad.

🌳 Exterior

  • ¡Has escapado con éxito!
  • El GIF final celebra tu victoria.

6️⃣ Estructura de Archivos y Código

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

🧩 Funciones Principales

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.

7️⃣ Autores

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


🏁 Funcionalidades Extra

  • 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 😄”).

About

Juego Escape Room Ironhack - week 1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%