Python for Data Analysts: Methods & Tools

Text Adventure Game Development

In this assignment, students are tasked with designing a text-based adventure game Links to an external site.. This game should utilize the Python essentials covered thus far, including, but not limited to:

  • Strings and String Manipulation
  • User-Defined Functions and Objects (variables)
  • User Input and Input Handling
  • Conditional and Nested Conditional Statements (if/elif/else)
  • Loops (for/while)
  • Controlling for Errors (try/except)

The working version of the game should include:

An executable script (a script that runs from beginning to end upon execution) that includes:

  • a game that can be successfully completed within a maximum of 3 minutes (i.e., you can win the game in 3 minutes or less)
  • for a passing grade, your text adventure game must include a minimum of:
    • 3 stages (maximum of 5 stages)
    • 5 defined variables
    • 1 list
    • 1 for loop
    • 1 while loop
    • 3 nested conditional statements (all must include an else clause)
    • 1 win() function (Executed whenever a user wins the game. There must be only one win function)
    • 1 fail() function (Executed whenever a user loses the game. There must be only one fail function)
  • A description at the beginning of game that:
    • Is no more than 300 words
    • Introduces the story, game, and its objective
    • Identifies any bugs that are not yet worked out

Requirements and Restrictions

  • Your game must be based on a book, movie, or TV show. Make sure to provide a source in A.P.A. format.
  • The only programming language you may use is Python (no JavaScript, C, or other languages are allowed).
  • Global variables may NOT be used (avoid things such as combat engines and/or character attributes such as health points).
  • No use of class structures or other object-oriented programming structures (you must stick to user-defined functions).
  • You are not allowed to pass things between the stages of your game (stages should not inherit arguments from other stages; no optional or mandatory arguments). For example, a key found in Stage 1 cannot be carried forward to Stage 2. However, you can statically write this into your text if it is required for your story.

Deliverables

  • A working version of your game in the following format:
    • Jupyter Notebook (.ipynb format)
      • One markdown cell containing the description
      • One code cell containing the game (points will be deducted if the submission contains more than one code cell)
  • The code submitted as a .txt file (copy/paste the code into a .txt file). Points will be deducted if the submission is not a .txt file.
Tags: No tags