Giter Club home page Giter Club logo

a-mad-kings-quest's People

Watchers

 avatar

a-mad-kings-quest's Issues

Check that game output matches SRS

Play through the game / look through the code and try to ensure (as much as is reasonable) that the output matches the SRS document. Some liberties were taken (such as displaying the user's inventory after picking an item up. the game does display the required "{item_name} was picked up." but takes the liberty of providing some extra output that seemed helpful)

Document any game output that does not meet specifications or open an issue, and I'll make sure it matches.

Start Menu

  • Create StartCommandController
  • Commands
    • create new game save name
    • load save name
    • exit game

Chest feature

Implement chest feature

  • Check for key
  • If chest is unlocked and opened
    • display contents in room inventory
    • allow contents to be picked up
    • inspect command displays chest contents
  • Commands
    • open
    • inspect

Add README content

  • Game description
  • Basic walkthrough
  • Winning the game
  • Command documentation
    • User commands
    • Admin commands

Winning Game

Need to implement a way to have the player win when bos003 is defeated. Has to be in the config files

Improve in-code documentation

  • Better command help messages / docstrings

Add better command help messages. Command help messages should follow the format:

usage: inspect room
usage: inspect item_name
usage: inspect monster_name
Retrieve information about the current room, an item, or a monster in the current room

This is achieved using the code:

def do_inspect(self, *args):
    """usage: inspect room
       usage: inspect item_name
       usage: inspect monster_name
       Retrieve information about the current room, an item, or a monster in the current room"""
    if args:
        # code...
  • Code comments

Need to add comments in the code explaining certain structures, how the parts of the code inter-relate, what functions do, etc...

  • Type hinting

Python is dynamically typed, meaning that it doesn't check variable types unlike a statically typed language such as Java. This can cause issues if you inadvertently pass a variable of the wrong type to a method.

However, python does offer something called "type hinting" which allows you to specify what type a variable should be. Then your IDE (such as PyCharm) or type checking tool can warn you if your code has places where the wrong variable types might be used.

Example:

Code

def print_num(num: int, padding: str = " ") -> str:
    text = "%s%i" % (padding, num)
    print(text)
    return text

print_num("not an int", padding=">>")

PyCharm / Type checker warning

=> pep_type_annotations.py:9: error: Argument 1 to "print_num" has incompatible type "str"; expected "int"

Documentation:
https://realpython.com/python-type-checking/

Save Game

Implement save game command in GameCommandController

Puzzle Feature

Implement puzzle feature

  • Create PuzzleCommandController class to limit available commands
  • Add "is_active" to CommandController to allow for command based exiting of controller
  • Activate puzzle when player uses door
  • Commands
    • Ignore
    • Solve
    • Hint
    • Inspect

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.