Advertisement
Guest User

Untitled

a guest
Feb 21st, 2017
520
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.40 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace Clones
  5. {
  6.     public class CloneVersionSystem : ICloneVersionSystem
  7.     {
  8.         public class Clone
  9.         {
  10.             public Stack<int> PassedProgramms;
  11.             public Stack<int> Recoil;
  12.         }
  13.  
  14.         public string Execute(string query)
  15.         {
  16.             var clones = new List<Clone>();
  17.             var command = query.Split(' ');
  18.             var ci = int.Parse(command[1]);
  19.             if (command[0] == "learn")
  20.             {
  21.                 clones[ci].PassedProgramms.Push(int.Parse(command[2]));
  22.                 clones[ci].Recoil.Clear();
  23.             }
  24.             else if (command[0] == "rollback")
  25.                 clones[ci].Recoil.Push(clones[ci].PassedProgramms.Pop());
  26.             else if (command[0] == "relearn")
  27.                 clones[ci].PassedProgramms.Push(clones[ci].Recoil.Pop());
  28.             else if (command[0] == "clone")
  29.                 clones.Add(new Clone { PassedProgramms = clones[ci].PassedProgramms, Recoil = clones[ci].Recoil });
  30.             else if (command[0] == "check")
  31.             {
  32.                 if (clones[ci].PassedProgramms.Count == 0)
  33.                     return "basic";
  34.                 var lastProgramm = clones[ci].PassedProgramms.Pop();
  35.                 clones[ci].PassedProgramms.Push(lastProgramm);
  36.                 return lastProgramm.ToString();
  37.             }
  38.             return null;
  39.         }
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement