Skip to content

Anabelsm/Haunted-Mansion-Escape

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

logo_ironhack_blue 7

Welcome to the Python Analytics Quest! Your mission: code a text-based game, ‘Escape Room’, utilizing Python skills learned in the bootcamp. By doing this, you’ll reinforce Python theory, enhance teamwork, and problem-solving skills. Ready?

Let’s go!

Topics by Day

Each day teams focus on different topics. These topics dictate the Dev Team’s coding and Research Team’s research activities. Detailed instructions for each day are provided.

Dev Team Key Topics:

Day 1: Create dictionaries and lists serving as game data structures.
Day 2: Define functions and introduce flow control logic.
Day 3: Refine functions and flow control, adding interactivity.
Day 4: Finish implementing all of the game’s code.

Research Team Key Topics:

Day 1: Learning how to read Python error messages, function documentation and reinforce understanding of Python data structures and flow control.
Day 2: Learn about Python modules and packages, structuring code.
Day 3: Learn about good coding practices, including clean, readable code and proper documentation.
Day 4: Review list and dictionary comprehensions, read about Python testing.

Quest Brief

Your team will develop the “Escape Room” game. Implement Python code, manage errors, and test your game to ensure robustness. Each room presents unique challenges. The goal is to escape from the starting room (Game Room) to the end (Outside). Look at the image below and read the game narrative to understand the game logic fully:

Room Layout Example

Example of a simple room layout

Team Collaboration

For this project, we’re using Google Colab for collaborative work. It’s user-friendly, perfect for team projects, and lets you focus on Python concepts. As you progress through the bootcamp, you’ll transition to Jupyter Notebooks and GitHub, which is standard in the industry. Some Google Colab tips to get started are:

The Game

Deliver a main.ipynb file with your Python game solution and the .py file(s) containing your functions. It should reflect the Python concepts learned each day and be pushed to GitHub. You may download the files from the Google Colab and push these. The end product should be fully functional but also well-structured, efficient, robust, and entertaining!

Checklist of deliverables

* The game incorporates various data structures, specifically dictionaries and lists, to define game rooms, paths, and items.

* The game uses a Python dictionary to store the game state which is updated when progress is made, such as a key being collected.

* Flow control (if, elif, else statements) has been utilized to create game logic, for example, to determine what happens when a player makes certain choices or interacts with game items.

* The code appropriately uses loops where needed, such as for repeating game actions until the player reaches a certain outcome.

* The game uses functions to play the game and compartmentalize tasks such as navigating between rooms or interacting with items.

* Arguments are used in functions where appropriate to allow for reusability.

* The game uses return statements in functions to output certain results, which are then used elsewhere in your code.

* After completing each game action, functions are called to continue playing until the winning condition is reached.

* The game utilizes comprehension for creating more efficient and readable code where applicable.

* Any user input is validated and the game incorporates error handling techniques to handle any possible errors or exceptions, providing a smoother user experience.

* The code is well-documented with comments explaining what different sections of the code are doing. 

* Functions are properly documented as well following docstring good practices.

* The game has a clear end goal or “win” condition that the player can achieve (making it “Outside”).

Additional Game Features (Optional)

* Apply proper error handling try-except-finally blocks to handle user input or other errors.

* Args and kwargs: Update the functions to accept *args and **kwargs parameters. Modify the function calls to pass the required arguments using *args and **kwargs.

* Zip and unzip: Implement the use of zip to iterate over two or more iterables simultaneously, such as iterating over items and their corresponding keys.
  
* Regex: Incorporate regex patterns to validate user input for actions.
    
* Apply OOP: Refactor the code into classes to encapsulate the game logic, map, and state.

The Presentation

You will present your game on Friday morning to the class showcasing how your game works as well as a short presentation in the form of some slides. The format of the presentation will be as follows:

Talking with Slides: 3 minutes
Demo: 2 minutes
Total: 5 minutes

All presentations will be done from a staff member’s computer, so your slides need to be online. PowerPoint files, Keynote files or files of any kind will not be accepted.

Suggested online slide applications:
    Google Slides
    Slides
    Prezi

Presentation Structure

Feel free to present the game in as you feel best represents your work, but below you will find a suggested format for the presentation as a guide.

Title Slide (1 slide): your project’s name & your names

Project Overview (1-2 slides):
    How is the game’s structure organized?
    Which functions do you have and how are they imported?
    Which features did you add to the game?
    
Technical Challenge (1-2 slides):
    What was the most important technical challenge you faced?
    How did you overcome that challenge?
    
Big Mistake (1-2 slides):
    What was the biggest mistake you made during this project?
    What did you learn from it?
    
Demo Slide (1 slide): literally says “DEMO” with a link to your project so you can open it easily

Closing Slide (1 slide): your project’s name, your name & a “Thank You”
Total: 6-8 slides

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%