Advertisement
Infiniti_Inter

serial

Dec 27th, 2021
1,101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.31 KB | None | 0 0
  1. using Newtonsoft.Json;
  2. using System;
  3. using System.IO;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8.  
  9.  
  10. namespace serialize
  11. {
  12.  
  13.  
  14.     class Player
  15.     {
  16.         public string Name { get; set; }
  17.         public int LvL { get; set; }
  18.  
  19.         public int Exp;
  20.  
  21.         string ID { get; }
  22.  
  23.        
  24.         public Player()
  25.         {
  26.             ID = generator(30);
  27.             LvL = 1;
  28.         }
  29.  
  30.         public void ShowInfo()
  31.         {
  32.             Console.WriteLine($"Name - {Name}\nLvL - {LvL}\nExp - {Exp}/{10 * LvL * LvL}\n");
  33.         }
  34.         public void GiveExp(int X)
  35.         {
  36.             Exp += X;
  37.             if (Exp > 10 * LvL * LvL)
  38.             {
  39.                 Exp -= 10 * LvL * LvL;
  40.                 LvL ++;
  41.                 this.GiveExp(0);
  42.             }
  43.         }
  44.  
  45.        
  46.         static string generator(int n)
  47.         {
  48.             Random rand = new Random();
  49.             char cur;
  50.             StringBuilder result = new StringBuilder();
  51.             for (int i = 0; i < n; i++)
  52.             {
  53.                 cur = (char)('a' + rand.Next(0, 9));
  54.                 result.Append(cur);
  55.             }
  56.             return result.ToString();
  57.         }
  58.  
  59.  
  60.     }
  61.     class Human
  62.     {
  63.         public string Name { get; set; }
  64.         public int Age { get; set; }
  65.     }
  66.  
  67.     class Student:Human
  68.     {
  69.         public int Year { get; set; }
  70.     }
  71.  
  72.     class Worker:Human
  73.     {
  74.         public int Salary { get; set; }
  75.     }
  76.  
  77.     class Child : Human
  78.     {
  79.         public int Height { get; set; }
  80.     }
  81.  
  82.     class Program
  83.     {
  84.         static void Main(string[] args)
  85.         {
  86.             var player1 = new Player { Name = "forest123" };
  87.             var player2 = new Player { Name = "Decibit" };
  88.             var player3 = new Player { Name = "Chistoffer1996" };
  89.             player1.GiveExp(100);
  90.             player2.GiveExp(300);
  91.             player3.GiveExp(1000);
  92.  
  93.             player1.ShowInfo();
  94.             player2.ShowInfo();
  95.             player3.ShowInfo();
  96.  
  97.  
  98.             List<Player> players = new List<Player>();
  99.             players.Add(player1);
  100.             players.Add(player2);
  101.             players.Add(player3);
  102.  
  103.  
  104.             Console.WriteLine(new String('=', 25));
  105.             Console.WriteLine();
  106.  
  107.  
  108.             using (StreamWriter sw = new StreamWriter("Text.json"))
  109.             {
  110.                 sw.WriteLine(JsonConvert.SerializeObject(players));
  111.                 Console.WriteLine("Запись выполнена");
  112.             }
  113.             using (StreamReader sr = new StreamReader("Text.json"))
  114.             {
  115.                 List<Player> restoredPlayers = JsonConvert.DeserializeObject<List<Player>>(sr.ReadToEnd());
  116.                 foreach (var item in restoredPlayers)
  117.                 {
  118.                     item.ShowInfo();
  119.                 }
  120.             }
  121.            
  122.         }
  123.  
  124.     }
  125. }
  126.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement