Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Clones
- {
- public class CloneVersionSystem : ICloneVersionSystem
- {
- public class Clone
- {
- public Stack<int> PassedProgramms;
- public Stack<int> Recoil;
- }
- public string Execute(string query)
- {
- var clones = new List<Clone>();
- var command = query.Split(' ');
- var ci = int.Parse(command[1]);
- if (command[0] == "learn")
- {
- clones[ci].PassedProgramms.Push(int.Parse(command[2]));
- clones[ci].Recoil.Clear();
- }
- else if (command[0] == "rollback")
- clones[ci].Recoil.Push(clones[ci].PassedProgramms.Pop());
- else if (command[0] == "relearn")
- clones[ci].PassedProgramms.Push(clones[ci].Recoil.Pop());
- else if (command[0] == "clone")
- clones.Add(new Clone { PassedProgramms = clones[ci].PassedProgramms, Recoil = clones[ci].Recoil });
- else if (command[0] == "check")
- {
- if (clones[ci].PassedProgramms.Count == 0)
- return "basic";
- var lastProgramm = clones[ci].PassedProgramms.Pop();
- clones[ci].PassedProgramms.Push(lastProgramm);
- return lastProgramm.ToString();
- }
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement