Question: C# Question Create a class for an inventory system for an RPG. Your solution should contain the following classes An Interface called IContainer - items

C# Question

Create a class for an inventory system for an RPG.

Your solution should contain the following classes

An Interface called IContainer - items that implement IContainer can have other things put inside them

Add method - adds an item to the container. You may NOT calculate or store the totals for the container here

TotalCount property - returns how many items are in the container including any containers inside. You MUST calculate the totalCount recursively when this method is called

TotalWeight property - returns the total weight of the container including any containers inside. You MUST calculate the totalWeight recursively when this method is called

A class called Inventory that implements IContainer

The constructor should pass in the number of items in the inventory

An abstract base class called Item

Each item should have a cost and a weight property

Several inherited objects from a typical RPG. Each item should have a different cost and weight

A BagOfHolding class which inherits from Item and implements IContainer

You should write some test code to test all of your classes. For example it might look something like this. Make sure that you test the recursive TotalCount and TotalWeight methods

 var inventory = new Inventory(3); inventory.Add(new Sword()); inventory.Add(new Potion()); var bagOfHolding = new BagOfHolding(4); inventory.Add(bagOfHolding); bagOfHolding.Add(new Sword()); Console.WriteLine( "The number of items in the inventory is {0} ", inventory.TotalCount); //There are 4 items in this example Console.WriteLine( "The total weight of the inventory is {0} ", inventory.TotalWeight); //Weight will depend on the weights of each item 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!