Вывести ориентацию локатора после выполнения команд - C# (205298)
Формулировка задачи:
3.Оператор выбора
Локатор ориентирован на одну из сторон света ("С" — север, "З" — запад, "Ю" — юг, "В" — восток) и может принимать три цифровые команды: 1 — поворот налево, –1 — поворот направо, 2 — поворот на 180 градусов. Дан символ C — исходная ориентация локатора и числа N1 и N2 — две посланные ему команды. Вывести ориентацию локатора после выполнения данных команд.Решение задачи: «Вывести ориентацию локатора после выполнения команд»
textual
Листинг программы
using System;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
Locator l = new Locator(Locator.Location.East);
l.Rotate(Locator.Rotation.revers);
Console.WriteLine(l.CurrentLocation);
Console.ReadKey();
}
}
public class Locator
{
public enum Location : int { North = 0, West = 1, South = 2, East = 3 };
public enum Rotation : int { left = 1, right = -1, revers = 2 };
Location _location;
public Locator(Location location)
{
_location = location;
}
public Location CurrentLocation
{
get { return _location; }
}
public void Rotate(Rotation rotation)
{
_location = (Location)(((int)_location + (int)rotation + 4) % 4);
}
}
}