Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace PlayerShop
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<Item> itemsForSale = new List<Item> { new Item(150, "Axe"), new Item(250, "Sword"), new Item(60, "Healing potion"), new Item(40, "Mana potion") };
- Seller seller = new Seller("Prodavan", 100, itemsForSale);
- List<Item> playerItems = new List<Item>();
- Player player = new Player("Vasiliy", 600, playerItems);
- while (true)
- {
- Console.Clear();
- Console.WriteLine("Gold: " + player.Gold);
- Console.WriteLine("Seller's Gold :" + seller.Gold);
- Console.WriteLine("1 - seller items\n2 -player items\n3 - buy item ");
- int userInput = Convert.ToInt32(Console.ReadLine());
- switch (userInput)
- {
- case 1:
- seller.ShowItems();
- break;
- case 2:
- player.ShowItems();
- break;
- case 3:
- seller.ShowItems();
- Console.WriteLine("Введите номер предмета, который вы хотите купить:");
- int userChoice = Convert.ToInt32(Console.ReadLine());
- if (itemsForSale[userChoice - 1].Price <= player.Gold)
- {
- player.BuyItem(seller, userChoice - 1, itemsForSale, playerItems);
- }
- else
- {
- Console.WriteLine("Not enough gold");
- }
- break;
- }
- Console.WriteLine("Нажмите любую клавишу...");
- Console.ReadKey();
- }
- }
- class Seller
- {
- public int Gold { get; private set; }
- public string Name { get; private set; }
- private List<Item> _itemList = new List<Item>();
- public Seller(string name, int gold, List<Item> items)
- {
- Gold = gold;
- Name = name;
- _itemList = items;
- }
- public void ShowItems()
- {
- foreach (var item in _itemList)
- {
- Console.WriteLine($"{item.Name} - {item.Price}");
- }
- }
- public void SellItem(int itemIndex)
- {
- Gold += _itemList[itemIndex].Price;
- }
- }
- class Player
- {
- public int Gold { get; private set; }
- public string Name { get; private set; }
- private List<Item> _itemList = new List<Item>();
- public Player(string name, int gold, List<Item> items)
- {
- Name = name;
- Gold = gold;
- _itemList = items;
- }
- public void BuyItem(Seller seller, int itemIndex, List<Item> sellerItems, List<Item> playerItems)
- {
- var tempItem = sellerItems[itemIndex];
- Gold -= sellerItems[itemIndex].Price;
- seller.SellItem(itemIndex);
- sellerItems.RemoveAt(itemIndex);
- playerItems.Add(tempItem);
- Console.WriteLine("Вы купили предмет - " + tempItem.Name);
- }
- public void ShowItems()
- {
- foreach (var item in _itemList)
- Console.WriteLine(item.Name);
- }
- }
- class Item
- {
- public string Name { get; private set; }
- public int Price { get; private set; }
- public Item(int price, string name)
- {
- Name = name;
- Price = price;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement