2 variable trickery

From Esolang
Jump to navigation Jump to search

2 variable trickery was made to be interpreted by C# as a test. By User:A()

Commands

Commands
Cmd Action
X print out X
Y print out Y
X+ update X by 1
Y+ update Y by 1
X- update X by -1
Y- update Y by -1
++ add X and Y store in X
-- subtract X and Y store in X
/ div X and Y store in X
* multiply X and Y store in X
T if X is Y, print X forever
E end
IX X is input
IY Y is input
% X mod Y store in X

Programs

Truth-machine

IX
X
Y+
T
E

Interpreter

internal class Program
{
    private static void Main(string[] args)
    {
       float X = 0;
       float Y = 0;
       string Input = "";
       while (Input != "E")
       {
           Input = Console.ReadLine();
           switch (Input)
           {
               case "X":
                   Console.WriteLine(X);
                   break;
               case "Y":
                   Console.WriteLine(Y);
                   break;
               case "X+":
                    X = X + 1;
                   break;
               case "Y+":
                    Y = Y + 1;
                   break;
               case "X-":
                    X = X - 1;
                   break;
               case "Y-":
                    Y = Y - 1;
                   break;
               case "++":
                   X = X + Y;
                   break;
               case "--":
                   X = X - Y;
                   break;
               case "*":
                   X = X * Y;
                   break;
               case "/":
                   X = X / Y;
                   break;
               case "%":
                   X = X % Y; 
                   break;
               case "T":
                   while (X == Y) 
                   { 
                       Console.WriteLine(X);
                   }
                   break;
               case "IX":
                   X = float.Parse(Console.ReadLine());
                   break;
               case "IY":
                   Y = float.Parse(Console.ReadLine());
                   break;
               default: 
                   Console.WriteLine("INVAILD");
                   break;


                   }
       }
   }
}