Advertisement
OwlyOwl

PlayerShop

Jul 12th, 2020
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.13 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace PlayerShop
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<Item> itemsForSale = new List<Item> { new Item(150, "Axe"), new Item(250, "Sword"), new Item(60, "Healing potion"), new Item(40, "Mana potion") };
  12.             Seller seller = new Seller("Prodavan", 100, itemsForSale);
  13.             List<Item> playerItems = new List<Item>();
  14.             Player player = new Player("Vasiliy", 600, playerItems);
  15.             while (true)
  16.             {
  17.                 Console.Clear();
  18.                 Console.WriteLine("Gold: " + player.Gold);
  19.                 Console.WriteLine("Seller's Gold :" + seller.Gold);
  20.                 Console.WriteLine("1 - seller items\n2 -player items\n3 - buy item ");
  21.                 int userInput = Convert.ToInt32(Console.ReadLine());
  22.                 switch (userInput)
  23.                 {
  24.                     case 1:
  25.                         seller.ShowItems(itemsForSale);
  26.                         break;
  27.                     case 2:
  28.                         player.ShowItems(playerItems);
  29.                         break;
  30.                     case 3:
  31.                         seller.ShowItems(itemsForSale);
  32.                         Console.WriteLine("Введите номер предмета, который вы хотите купить:");
  33.                         int userChoice = Convert.ToInt32(Console.ReadLine());
  34.                         if (itemsForSale[userChoice - 1].Price <= player.Gold)
  35.                         {
  36.                             player.BuyItem(seller, userChoice - 1, itemsForSale, playerItems);
  37.                         }
  38.                         else
  39.                         {
  40.                             Console.WriteLine("Not enough gold");
  41.                         }
  42.                         break;
  43.                 }
  44.                 Console.WriteLine("Нажмите любую клавишу...");
  45.                 Console.ReadKey();
  46.             }
  47.         }
  48.  
  49.         class Seller
  50.         {
  51.             public int Gold { get; private set; }
  52.             public string Name { get; private set; }
  53.  
  54.             public List<Item> ItemList = new List<Item>();
  55.             public Seller(string name, int gold, List<Item> items)
  56.             {
  57.                 Gold = gold;
  58.                 Name = name;
  59.                 ItemList = items;
  60.             }
  61.  
  62.             public void ShowItems(List<Item> forSale)
  63.             {
  64.                 foreach (var item in forSale)
  65.                 {
  66.                     Console.WriteLine($"{item.Name} - {item.Price}");
  67.                 }
  68.             }
  69.  
  70.             public void SellItem(int itemIndex)
  71.             {
  72.                 Gold += ItemList[itemIndex].Price;
  73.             }
  74.         }
  75.  
  76.         class Player
  77.         {
  78.             public int Gold { get; private set; }
  79.             public string Name { get; private set; }
  80.  
  81.             List<Item> ItemList = new List<Item>();
  82.  
  83.             public Player(string name, int gold, List<Item> items)
  84.             {
  85.                 Name = name;
  86.                 Gold = gold;
  87.                 ItemList = items;
  88.             }
  89.  
  90.             public void BuyItem(Seller seller, int itemIndex, List<Item> sellerItems, List<Item> playerItems)
  91.             {
  92.                 var tempItem = sellerItems[itemIndex];
  93.                 Gold -= sellerItems[itemIndex].Price;
  94.                 seller.SellItem(itemIndex);
  95.                 sellerItems.RemoveAt(itemIndex);
  96.                 playerItems.Add(tempItem);
  97.                 Console.WriteLine("Вы купили предмет - " + tempItem.Name);
  98.             }
  99.             public void ShowItems(List<Item> playerItems)
  100.             {
  101.                 foreach (var item in playerItems)
  102.                     Console.WriteLine(item.Name);
  103.             }
  104.         }
  105.  
  106.         class Item
  107.         {
  108.             public string Name { get; private set; }
  109.             public int Price { get; private set; }
  110.  
  111.             public Item(int price, string name)
  112.             {
  113.                 Name = name;
  114.                 Price = price;
  115.             }
  116.         }
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement