Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace FifthProject
- {
- class Program
- {
- static void Main(string[] args)
- {
- Player player = new Player();
- Trader trader = new Trader();
- Inventory inventory = new Inventory();
- while (true)
- {
- int id;
- ShowMenu();
- inventory.ShowBalance(player.PlayerBalance, trader.TraderBalance);
- int menu = Convert.ToInt32(Console.ReadLine());
- switch (menu)
- {
- case 1:
- inventory.AddItem(ref player.PlayerItems);
- break;
- case 2:
- inventory.AddItem(ref trader.TraderItems);
- break;
- case 3:
- inventory.ShowItems(player.PlayerItems);
- id = Convert.ToInt32(Console.ReadLine());
- inventory.TradeItem(ref player.PlayerItems, ref trader.TraderItems, id, ref player.PlayerBalance, ref trader.TraderBalance);
- break;
- case 4:
- inventory.ShowItems(trader.TraderItems);
- id = Convert.ToInt32(Console.ReadLine());
- inventory.TradeItem(ref trader.TraderItems, ref player.PlayerItems, id, ref trader.TraderBalance, ref player.PlayerBalance);
- break;
- case 5:
- inventory.ShowItems(player.PlayerItems);
- Console.ReadKey();
- break;
- case 6:
- inventory.ShowItems(trader.TraderItems);
- Console.ReadKey();
- break;
- }
- Console.Clear();
- }
- }
- static void ShowMenu()
- {
- Console.WriteLine("\tMenu\n" +
- "1. Добавить новый предмет в инвентарь\n" +
- "2. Добавить новый предмет торговцу\n" +
- "3. Продать предмет\n" +
- "4. Купить предмет\n" +
- "5. Показать инвентарь\n" +
- "6. Показать инвентарь продавца\n");
- }
- }
- class Inventory
- {
- public void AddItem(ref Item[] items)
- {
- bool usability = false;
- Console.WriteLine("Введите цену");
- int price = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите размер");
- int scale = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите имя");
- string name = Console.ReadLine();
- Console.WriteLine("Можно ли использовать этот предмет?\n" +
- "1. Да\n" +
- "2. Нет\n");
- int menu = Convert.ToInt32(Console.ReadLine());
- if (menu == 1)
- {
- usability = true;
- }
- Item[] tempItems = new Item[items.Length + 1];
- for (int i = 0; i < tempItems.Length - 1; i++)
- {
- tempItems[i] = items[i];
- }
- tempItems[tempItems.Length - 1] = new Item(price, scale, name, usability);
- items = tempItems;
- }
- public void AddNewItem(int price, int scale, string name, bool usability, ref Item[] items)
- {
- Item[] tempItems = new Item[items.Length + 1];
- for (int i = 0; i < tempItems.Length - 1; i++)
- {
- tempItems[i] = items[i];
- }
- tempItems[tempItems.Length - 1] = new Item(price, scale, name, usability);
- items = tempItems;
- }
- public void RemoveItem(int id, ref Item[] items)
- {
- items[id] = null;
- Item[] tempItems = new Item[items.Length - 1];
- for (int i = 0; i < items.Length - 1; i++)
- {
- if (items[i] != null)
- {
- tempItems[i] = items[i];
- }
- else
- {
- tempItems[i] = items[i + 1];
- }
- }
- items = tempItems;
- }
- public void TradeItem(ref Item[] items, ref Item[] itemsSecond, int id, ref int balance, ref int balanceSecond)
- {
- if (balanceSecond >= items[id].Price)
- {
- balanceSecond -= items[id].Price;
- balance += items[id].Price;
- AddNewItem(0, 0, null, false, ref itemsSecond);
- itemsSecond[itemsSecond.Length - 1] = items[id];
- RemoveItem(id, ref items);
- }
- else
- {
- Console.WriteLine("Недостаточно средств");
- Console.ReadKey();
- }
- }
- public void ShowItems(Item[] items)
- {
- for (int i = 0; i < items.Length; i++)
- {
- Console.WriteLine($"ID: {i} Название: {items[i].Name} Цена: {items[i].Price} " +
- $"Размер: {items[i].Scale} Юзабельность: {items[i].Usability}");
- }
- }
- public void ShowBalance(int playerBalance, int traderBalance)
- {
- Console.WriteLine($"Баланс игрока: {playerBalance}\n" +
- $"Баланс торговца: {traderBalance}");
- }
- }
- class Trader
- {
- public Item[] TraderItems = new Item[0];
- public int TraderBalance = 10000;
- }
- class Player
- {
- public Item[] PlayerItems = new Item[0];
- public int PlayerBalance = 1000;
- }
- class Item
- {
- public int Price { get; }
- public int Scale { get; }
- public string Name { get; }
- public bool Usability { get; }
- public Item(int price, int scale, string name, bool usability)
- {
- Price = price;
- Scale = scale;
- Name = name;
- Usability = usability;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement