Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Homework4
- {
- class Program
- {
- static void Main(string[] args)
- {
- Shop shop = new Shop();
- shop.Trade();
- }
- }
- class Item
- {
- public string Label { get; private set; }
- public int Price { get; private set; }
- public Item(string label, int price)
- {
- Label = label;
- Price = price;
- }
- }
- class Trader
- {
- private List<Item> _items;
- public Trader(List<Item> items)
- {
- _items = items;
- }
- public Trader() { }
- public void ShowItems()
- {
- Console.WriteLine("~~Товары~~");
- foreach (var item in _items)
- {
- Console.WriteLine(item.Label + " - " + item.Price);
- }
- Console.WriteLine("~~~~~~~~~~");
- }
- public Item SellItem()
- {
- string tempLabel = GetItemLabel();
- int index = -1;
- bool isItemAvailable = false;
- for (int i = 0; i < _items.Count; i++)
- {
- if (_items[i].Label.ToLower() == tempLabel.ToLower())
- {
- index = i;
- isItemAvailable = true;
- break;
- }
- }
- if (isItemAvailable == true)
- {
- return _items[index];
- }
- else
- {
- Console.WriteLine("Такого товара нет!");
- return null;
- }
- }
- private string GetItemLabel()
- {
- Console.Write("Введите название товара: ");
- return Console.ReadLine();
- }
- }
- class Player
- {
- private List<Item> _inventory = new List<Item>();
- public int Money { get; private set; }
- public Player(int money)
- {
- Money = money;
- }
- public Player() { }
- public void ShowInventory()
- {
- Console.WriteLine("~~Инвентарь~~");
- foreach (var item in _inventory)
- {
- Console.Write('|');
- Console.Write(item.Label);
- Console.WriteLine('|');
- }
- Console.WriteLine(Money + " денег");
- Console.WriteLine("~~~~~~~~~~");
- }
- public void BuyItem(Item item)
- {
- if (item != null)
- {
- _inventory.Add(item);
- Money -= item.Price;
- }
- }
- }
- class Shop
- {
- private Player _player;
- private Trader _trader;
- public Shop()
- {
- _player = new Player(33);
- _trader = new Trader(new List<Item> { new Item("q", 5), new Item("w", 7), new Item("e", 9), new Item("r", 11) });
- }
- public void Trade()
- {
- while (_player.Money > 0)
- {
- _trader.ShowItems();
- _player.ShowInventory();
- Item itemToBuy = _trader.SellItem();
- if (itemToBuy.Price <= _player.Money)
- {
- _player.BuyItem(itemToBuy);
- }
- else
- {
- Console.WriteLine("У вас не хватил денег на это товар!");
- }
- Console.Clear();
- }
- Console.WriteLine("У вас закончились деньги!");
- _player.ShowInventory();
- Console.ReadKey();
- }
- }
- }
Add Comment
Please, Sign In to add comment