2 variable trickery
Jump to navigation
Jump to search
2 variable trickery was made to be interpreted by C# as a test. By User:A()
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;
}
} } }