Go North. Look. "You are facing the north side of a white house. There is no door here, and all the windows are boarded up. To the north a narrow path winds through the trees." These were the opening descriptions to the Zork one of the early text based adventures written in 1979. In this checkpoint we will be recreating some of the excitement from those early text based adventures, while covering C# basics utilizing .NET Core's console applications.
In this checkpoint students will demonstrate a functional understanding of the basic concepts of the dotnet console application, handling user input and creating a unique and fun story to go with it.
Students will demonstrate the ability to implement interfaces, and adhere to a pre-archetechted design, adding in their own functionality and creativity into the code.
As you begin working on a console game the basic requirements of any good console game will allow users to:
- Move about a set of rooms
- Get a description of the room they are in
- Get Help - Shows a list of all available commands
- Take Items
- Use Items
- Give Up
To help you out with some of these basic features will notice that you already have some interfaces that have been built. These interfaces are designed to help ensure you implement the basic requirements of a console game.
To satisfy the interfaces you will need to ensure that your classes implement all of the features of the provided interfaces... You cannot remove anything from any of the interfaces. The Basic Features of the game:
Go <Direction>
Moves the player from room to roomUse <ItemName>
Uses an item in a room or from your inventoryTake <ItemName>
Places an item into the player inventory and removes it from the roomLook
Prints the description of the room againInventory
Prints the players inventoryHelp
Shows a list of commands and actionsQuit
Quits the Game
We have provided a basic story and map if you are not creative or simply don't want to spend your time thinking of a story to play your game. Following the provided story is not required however creating some sort of experience is.
Your Game must implement the following features
- At least 4 rooms
- At least 1 usable item
- At least 1 item that can be taken (can be the same as the usable item)
- At least 1 room that changes based on an item use
- When the player enters a room they get the room description
- Players can see the items in their inventory
- Players lose the game due to a bad decision
- Players can win the game
- Player input must be seperated into
command
andoption
- go north
- take key
- use ๐
- Players can move room to room with the
go <direction>
command - Players can
use
items to change the state of the room (use key or use light) - Items exist for the player to
take
from rooms (not required for these to be used in a room) quit
ends the game- At least 4 rooms, 1 usable item, and 1 takeable item
- Players can lose the game due to a bad decision
- The game is winnable
help
Provides the user a list of commands for your gamelook
Re-prints the room descriptioninventory
prints a list of the items in the players inventory- When the player enters a room they get the room description
- Try changing the console color or adding some beeps for dramatic effect
- Clear the console when appropriate
- The user should know when its their turn try formatting the users input with something like this everytime its the users turn to type
- What do you do: __________________ // <- Their Answer on the same line
- Add some riddles or puzzles for users to solve to get from room to room
When You are finished please submit the url for your github repo to the gradebook.