// RPG inventory program
using System;
using System.Collections.Generic;
public class Program
{
// -------------------------
// Subprograms
// -------------------------
static void add_item(List<string> inventory)
{
Console.Write("What item are you adding to your inventory? : ");
string item = Console.ReadLine();
inventory.Add(item);
Console.WriteLine("Item added.");
}
static void search(List<string> inventory)
{
Console.Write("What item do you want to see if you have? : ");
string item = Console.ReadLine();
if (inventory.Contains(item))
{
Console.WriteLine("You have the item.");
}
else
{
Console.WriteLine($"You do not have a {item}");
}
}
static void drop_item(List<string> inventory)
{
Console.Write("What item do you want to drop? : ");
string item = Console.ReadLine();
// Check item exists
if (inventory.Contains(item))
{
inventory.Remove(item);
Console.WriteLine("Item dropped.");
}
else
{
Console.WriteLine("You do not have this item.");
}
}
static void look(List<string> inventory)
{
Console.Write("Which inventory slot do you want to look at? :");
int slot = Convert.ToInt32(Console.ReadLine());
if (slot < inventory.Count) {
Console.WriteLine($"You have a {inventory[slot]} in slot");
}
else
{
Console.WriteLine("Invalid slot.");
}
}
static void choose_action(List<string> inventory)
{
Console.WriteLine($"You have {inventory.Count} items in your inventory.");
Console.WriteLine("What action do you want to take? (add/craft/look/drop/search) : ");
string action = Console.ReadLine();
switch (action)
{
case "add":
add_item(inventory);
break;
case "drop":
drop_item(inventory);
break;
case "look":
look(inventory);
break;
case "search":
search(inventory);
break;
}
Console.WriteLine();
}
// -------------------------
// Main program
// -------------------------
static void Main()
{
List<string> inventory = new List<string>() {"sword", "shield"};
while (true) {
choose_action(inventory);
}
}
}