Задача про "Робота" - C#
Формулировка задачи:
Робот может перемещаться в четырех направлениях («С» — север,
«З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые ко-
манды: 0 — продолжать движение, 1 — поворот налево, –1 — поворот на-
право. Дан символ C — исходное направление робота и целое число N —
посланная ему команда. Вывести направление робота после выполнения
полученной команды.
Подскажите концепцию программы, ткк не понял нужно вывести направление только один раз или постоянно спрашивать и выводить направление, если так (то подскажите как это реализовать)
Решение задачи: «Задача про "Робота"»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
Console.WriteLine("we go to Pivnich");
Console.WriteLine("choose komanda ");
Console.WriteLine("0 idu");
Console.WriteLine("-1 napravo");
Console.WriteLine("1 vlivo");
string naprav = "sever";
int d = 0;
while (true)
{
int komanda = Convert.ToInt32(Console.ReadLine());
if (komanda == 1 || komanda == -1)
{
d = d + komanda;
if (d > 3 || d < -3)
{
d = 0;
}
switch (d)
{
case 0:
naprav="pivnich";
Console.WriteLine("vu obernylusya na pivnch");
break;
case 1:
naprav = "sxid";
Console.WriteLine("vu obernylusya na sxid ");
break;
case 2:
naprav = "pivden";
Console.WriteLine("vu obernylusa na pivden");
break;
case 3:
naprav = "zaxid";
Console.WriteLine("vu obernylusya na zaxid");
break;
case -1:
naprav = "zaxid";
Console.WriteLine("vu obernylusya na zaxid");
break;
case -3 :
naprav = "sxid";
Console.WriteLine("vu obernylusya na sxid ");
break;
case -2:
naprav = "pivden";
Console.WriteLine("vu obernylusa na pivden");
break;
}
}
else if (komanda == 0)
{
Console.WriteLine("vu dvuhaetcsy na " + naprav);
}
else
{
Console.WriteLine("nepravulnuy vvid");
}
}
}
}