Every program needs a README.md
This is written in markdown. Read about markdown here: markdowncheatsheet
Eric Deau
A01058851
eric-deau
If played on command line, you will have to be more patient with the printing, as time.sleep does not work properly on CMD. Also do not press enter too quicky, or else the Quick Time Events might accidentally register an unwanted action. Play Warrior or Thief to breeze through the game, and play Mage for a slightly more challenging run.
Goal: Get to Heaven, and defeat ZAKUM, the cursed statue.
How to play: Use the numbers given by the prompt to perform an action.
| Requirements | Module | Line |
|---|---|---|
| (a) use of immutable data structures like tuples to minimize unnecessary mutability | world_creation.py | 38 |
| (b) use of mutable data structures like lists and dictionaries in a thoughtful and correct manner, i.e., no unnecessary looping through dictionaries | character_creation.py | 8 |
| (c) thoughtful use of exceptions and exception handling that prevents the program from crashing | character_creation.py | 79-82 |
| (d) minimized scope and lifetime of all variables and objects | encounters.py | 142 |
| (e) decomposition of your idea into a collection of small, atomic, independent, and reusable functions | abilities.py | 242, 252 |
| (f) simple flat code that is easy to understand | encounters.py | 189 |
| (g) demonstration of an understanding of how comprehensions work through the meaningful and correct use of one or more list/dictionary comprehensions | world_creation.py | 39 |
| (h) selection using if-statements | character_creation.py | 84 |
| (i) repetition using the for-loop and/or the while loop where it makes sense but not excessively | character_creation.py | 26 |
| (j) use of the membership operator where it makes sense | game_combat.py | 184 |
| (k) appropriate use of the range function | world_creation.py | 38 |
| (l) thoughtful and meaningful use of one or more functions from itertools | world_creation.py | 38 |
| (m) the random module | encounters.py | 238 |
| (n) function annotations | encounters.py | 8 |
| (o) doctests and/or unit tests for every single function (that is, every function needs doctests or unit tests or doctests and unit tests). | encounters.py | 93-96 |
| (p) ALL output must be formatted using f-strings and/or str.format and/or %-formatting | encounters.py | 136 |