Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.00 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace bidloCodVZdanii
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.            
  14.             Seller seller = new Seller();
  15.             User user = new User("Ашот",1000);
  16.             Rendrer renderer = new Rendrer();
  17.             int namber;
  18.             string command;
  19.  
  20.             user.InitializationUser();
  21.             seller.InitializationSeller();
  22.            
  23.             Console.WriteLine($"Добро пожаловать в магазин {user.Name} .Чего желаешь?");
  24.  
  25.             while (true)
  26.             {
  27.                 Console.Clear();
  28.  
  29.                 Console.WriteLine("\n1.Показать мой инвентарь \n2.Посмотреть инвентарь продавца \n3.Купить \n4.Покинуть магазин\n");
  30.  
  31.                 command = Console.ReadLine();
  32.  
  33.                 if (command =="1")
  34.                 {
  35.                     renderer.WriteUserInfo(user);
  36.                     renderer.WriteItemList(user.UserItemList);
  37.  
  38.                     Console.ReadKey();
  39.                 }
  40.                 else if (command == "2")
  41.                 {
  42.                     renderer.WriteItemList(seller.SellerItemList);
  43.  
  44.                     Console.ReadKey();
  45.                 }
  46.                 else if (command == "3")
  47.                 {
  48.                     renderer.WriteItemList(seller.SellerItemList);
  49.  
  50.                     Console.WriteLine("Какой номер?");
  51.  
  52.                     namber = Convert.ToInt32(Console.ReadLine());
  53.  
  54.                     for (int i = 0; i < seller.SellerItemList.Items.Length; i++)
  55.                     {
  56.                         if (namber == i + 1)
  57.                         {
  58.                             if (user.UserMoney >= seller.SellerItemList.Items[i].Price)
  59.                             {
  60.                                 user.Buy(seller.SellerItemList.Items[i].Price, seller.SellerItemList.Items[i]);
  61.                                 seller.Sale(i);
  62.                             }
  63.                             else
  64.                             {
  65.                                 renderer.WriteError();
  66.                             }
  67.                         }
  68.                     }
  69.                 }
  70.                 else if (command == "4")
  71.                 {
  72.                     break;
  73.                 }
  74.                 else
  75.                 {
  76.                     renderer.WriteError();
  77.                 }
  78.             }
  79.         }
  80.     }
  81.  
  82.     class User
  83.     {
  84.         public string Name { get; private set; }
  85.         public float UserMoney { get; private set; }
  86.         public ItemList UserItemList { get; private set; }
  87.  
  88.         public User(string name, float userMoney)
  89.         {
  90.             Name = name;
  91.             UserMoney = userMoney;
  92.         }
  93.  
  94.  
  95.         public void InitializationUser()
  96.         {
  97.             Item[] items = new Item[0];
  98.             UserItemList = new ItemList(items);
  99.         }
  100.  
  101.         public void Buy(float price, Item Item)
  102.         {
  103.              UserMoney -= price;
  104.              UserItemList.AddNewItem(Item);
  105.         }
  106.  
  107.     }
  108.  
  109.     class Seller
  110.     {
  111.         public ItemList SellerItemList { get; private set; }
  112.  
  113.         public void InitializationSeller()
  114.         {
  115.             Item item1 = new Item("Маленькая палка", "Бьет слабо", 10f);
  116.             Item item2 = new Item("Средняя палка", "Бьет средне", 20f);
  117.             Item item3 = new Item("Большая палка", "Бьет сильненько", 30f);
  118.  
  119.             Item[] items = { item1, item2, item3 };
  120.  
  121.             SellerItemList = new ItemList(items);
  122.         }
  123.  
  124.         public void Sale(int namber)
  125.         {
  126.             SellerItemList.RemoveItem(namber);
  127.         }
  128.     }
  129.    
  130.     class Item
  131.     {
  132.         public string TitleItem { get; private set; }
  133.         public string Descript { get; private set; }
  134.         public float Price { get; private set; }
  135.  
  136.         public Item(string titleItem, string descript, float price)
  137.         {
  138.             TitleItem = titleItem;
  139.             Descript = descript;
  140.             Price = price;
  141.         }
  142.     }
  143.  
  144.     class ItemList
  145.     {
  146.         public Item[] Items { get; private set; }
  147.  
  148.         public ItemList(Item[] items)
  149.         {
  150.             Items = items;
  151.         }
  152.  
  153.         public void AddNewItem(Item newItem)
  154.         {
  155.             Item[] localItem = new Item[Items.Length + 1];
  156.  
  157.             for (int i = 0; i < Items.Length; i++)
  158.             {
  159.                 localItem[i] = Items[i];
  160.             }
  161.  
  162.  
  163.             localItem[localItem.Length - 1] = newItem;
  164.  
  165.             Items = localItem;
  166.         }
  167.  
  168.         public void RemoveItem(int namber)
  169.         {
  170.             Item[] localItem = new Item[Items.Length - 1];
  171.             int j = 0;
  172.  
  173.             for (int i = 0; i < Items.Length; i++)
  174.             {
  175.                 if (i != namber)
  176.                 {
  177.                     localItem[j] = Items[i];
  178.                     j++;
  179.                 }
  180.             }
  181.  
  182.             Items = localItem;
  183.         }
  184.     }
  185.  
  186.     class Rendrer
  187.     {
  188.         public void WriteItemList(ItemList ItemList)
  189.         {
  190.             if (ItemList.Items.Length == 0)
  191.             {
  192.                 Console.WriteLine("Инвентарь пусть");
  193.             }
  194.  
  195.             for (int i = 0; i < ItemList.Items.Length; i++)
  196.             {
  197.                 Console.WriteLine($"Номер: {i + 1}; Название: {ItemList.Items[i].TitleItem}; Цена: {ItemList.Items[i].Price} Описание: {ItemList.Items[i].Descript} ;");
  198.             }
  199.  
  200.         }
  201.  
  202.         public void WriteUserInfo(User user)
  203.         {
  204.             Console.WriteLine($"Имя: {user.Name} Деньги: {user.UserMoney} \nИнвентарь:");
  205.         }
  206.  
  207.         public void WriteError()
  208.         {
  209.             Console.WriteLine("Ошибка операции");
  210.         }
  211.     }
  212. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement