Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Basic_Task25
- {
- class Program
- {
- static string mainMenu = "Меню.\n" +
- "1. Показать товар продавца\n" +
- "2. Посмотреть свои вещи\n" +
- "3. Купить товар\n" +
- "0. Выход\n";
- static void Main(string[] args)
- {
- Trader trader = new Trader();
- Player player = new Player();
- while (true)
- {
- Console.Clear();
- switch (ReadInt(mainMenu))
- {
- case 1:
- Console.Clear();
- trader.ShowProducts();
- Console.ReadKey();
- break;
- case 2:
- Console.Clear();
- player.Show();
- Console.ReadKey();
- break;
- case 3:
- Console.Clear();
- trader.ShowProducts();
- int number = -1;
- while (number < 1 || number > trader.Products.Count)
- {
- number = ReadInt("Введите номер товара: ");
- Console.Clear();
- if (number < 1 || number > trader.Products.Count)
- {
- Console.WriteLine("Введено неверный номер товара");
- }
- }
- if (!player.BuyProduct(trader.SellProduct(number)))
- {
- Console.WriteLine("У вас недостаточно монет");
- Console.ReadKey();
- }
- break;
- case 0:
- return;
- }
- }
- }
- static int ReadInt(string menu)
- {
- int output = 0;
- string input;
- while (true)
- {
- Console.Write(menu);
- input = Console.ReadLine();
- Console.Clear();
- if (int.TryParse(input, out output))
- {
- return output;
- }
- else
- {
- Console.WriteLine("Введено не число, попробуйте еще!");
- }
- }
- }
- }
- class Player
- {
- public List<Product> Products { get; }
- private int Money { get; set; }
- public Player()
- {
- Products = new List<Product>();
- Money = 100;
- }
- public void Show()
- {
- Console.WriteLine($"Монет - {Money}");
- for (int i = 0; i < Products.Count; i++)
- {
- Console.WriteLine($"{i + 1}. {Products[i].Name} - {Products[i].Cost} монет");
- }
- }
- public bool BuyProduct(Product product)
- {
- if (product.Cost <= Money)
- {
- Products.Add(product);
- Money -= product.Cost;
- return true;
- } else
- {
- return false;
- }
- }
- }
- class Trader
- {
- public List<Product> Products { get; }
- public Trader()
- {
- Products = new List<Product>();
- Products.Add(new Product("Золотой медальон", 50));
- Products.Add(new Product("Самоцвет", 75));
- Products.Add(new Product("Железный меч", 20));
- Products.Add(new Product("Паек", 1));
- Products.Add(new Product("Плащ", 10));
- }
- public void ShowProducts()
- {
- for (int i = 0; i < Products.Count; i++)
- {
- Console.WriteLine($"{i + 1}. {Products[i].Name} - {Products[i].Cost} монет");
- }
- }
- public Product SellProduct(int number)
- {
- Product product = Products[number - 1];
- Products.RemoveAt(number - 1);
- return product;
- }
- }
- class Product
- {
- public string Name { get; set; }
- public int Cost { get; set; }
- public Product(string name, int cost)
- {
- Name = name;
- Cost = cost;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement