Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.77 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Clones
  4. {
  5.     public class CloneVersionSystem : ICloneVersionSystem
  6.     {
  7.         System.Collections.Generic.List<CloneNigga> cloneNigs = new System.Collections.Generic.List<CloneNigga> { new CloneNigga() };
  8.  
  9.         public string Execute(string nigga)
  10.         {
  11.             nigga = ':' + nigga;
  12.             if (nigga.Contains(":learn"))
  13.             {
  14.                 string[] crutch = nigga.Split(' ');
  15.                 var crutch2 = int.Parse(crutch[1]) - 1;
  16.                 cloneNigs[crutch2].programKnown.next = new Deck<int>(int.Parse(crutch[2]), cloneNigs[crutch2].programKnown, true);
  17.                 cloneNigs[crutch2].programKnown = cloneNigs[crutch2].programKnown.next;
  18.             }
  19.             if (nigga.Contains(":rollback"))
  20.             {
  21.                 string[] crutch = nigga.Split(' ');
  22.                 var crutch2 = int.Parse(crutch[1]) - 1;
  23.                 cloneNigs[crutch2].programKnown = cloneNigs[crutch2].programKnown.previous;
  24.             }
  25.             if (nigga.Contains(":relearn"))
  26.             {
  27.                 string[] crutch = nigga.Split(' ');
  28.                 var crutch2 = int.Parse(crutch[1]) - 1;
  29.                 cloneNigs[crutch2].programKnown = cloneNigs[crutch2].programKnown.next;
  30.             }
  31.             if (nigga.Contains(":clone"))
  32.             {
  33.                 string[] crutch = nigga.Split(' ');
  34.                 var crutch2 = int.Parse(crutch[1]) - 1; ;
  35.                 cloneNigs.Add(cloneNigs[crutch2].Clone());
  36.             }
  37.             if (nigga.Contains(":check"))
  38.             {
  39.                 string[] crutch = nigga.Split(' ');
  40.                 var crutch2 = int.Parse(crutch[1]) - 1;
  41.                 if (cloneNigs[crutch2].programKnown.previous != null)
  42.                 {
  43.                     return cloneNigs[crutch2].programKnown.Value.ToString();
  44.                 }
  45.                 else
  46.                 {
  47.                     return "basic";
  48.                 }
  49.             }
  50.             return null;
  51.         }
  52.     }
  53.  
  54.     public class CloneNigga
  55.     {
  56.         public Deck<int> programKnown = new Deck<int>();
  57.  
  58.         public CloneNigga Clone()
  59.         {
  60.             return new CloneNigga { programKnown = this.programKnown };
  61.         }
  62.     }
  63.  
  64.     public class Deck<T>
  65.     {
  66.         public Deck<T> previous = null;
  67.         public Deck<T> next = null;
  68.  
  69.         public T Value
  70.         {
  71.             get; set;
  72.         }
  73.  
  74.         public Deck()
  75.         {
  76.  
  77.         }
  78.  
  79.         public Deck(T value)
  80.         {
  81.             this.Value = value;
  82.         }
  83.  
  84.         public Deck(T value, Deck<T> nigga, bool what = true)
  85.         {
  86.             this.Value = value;
  87.             if (what)
  88.                 previous = nigga;
  89.             else
  90.                 next = nigga;
  91.         }
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement