Exemplo n.º 1
0
 public IntCodeStatus Run(params long[] inputs)
 {
     Status.Should().NotBe(IntCodeStatus.Stopped);
     (Status == IntCodeStatus.WaitingForInput && inputs.Length == 0).Should().BeFalse();
     Status = IntCodeStatus.Running;
     Inputs.Should().BeEmpty();
     Inputs = inputs.ToList();
     RunInternal();
     return(Status);
 }
Exemplo n.º 2
0
 public void Input(long output)
 {
     if (Inputs.Count == 0)
     {
         PC    -= 2;
         Status = IntCodeStatus.WaitingForInput;
         return;
     }
     Memory[output] = Inputs.First();
     Inputs         = Inputs.Skip(1).ToList();
 }
Exemplo n.º 3
0
 public void Terminate()
 {
     Status = IntCodeStatus.Stopped;
 }