public abstract string HareketEt(string x, string y);
public abstract string HareketYonu(string yon);
public string Isim, Yon, Koordinat;
public Rover(string Isim, string Yon, string Koordinat)
this.Koordinat = Koordinat;
public override string HareketEt(string x, string y)
int xKoordinati = Int32.Parse(x);
int yKoordinati = Int32.Parse(y);
if ( (xKoordinati > 5) || (yKoordinati > 5) ) throw new System.ArgumentException("Yanlış koordinat girildi", "Koordinat değeri 0 ve 5 arasında olmalı");
public override string HareketYonu(string yon)
if (yon.Equals("Kuzey") || yon.Equals("Güney") || yon.Equals("Doğu") || yon.Equals("Batı")) return yon;
else throw new System.ArgumentException("Yanlış yön değeri girildi", "Kuzey, Güney, Doğu ya da Batı giriniz");
public static void Main()
Rover rover = new Rover("Sevda", "Kuzey", "0,0");
Console.WriteLine("Araç yaratıldı: İsim: {0}, Yön: {1}, Koordinat: {2}", rover.Isim, rover.Yon, rover.Koordinat);
Console.WriteLine("\nÇıkmak için 'cikis' yazınız\nYön (örnek: Kuzey) ve Koordinat (örnek: 1,1) değerlerini aralarında boşluk bırakarak giriniz:");
string line = Console.ReadLine();
string[] input = line.Split(' ');
if ( input.Length != 2 || !(input[1].Contains(",")) ) throw new System.ArgumentException("Yanlış giriş yapıldı", "Yön xKoordinatı,yKoordinatı şeklinde giriş yapınız");
Console.WriteLine("Girilen Değer(ler)");
for (int i = 0; i < input.Length; i++)
Console.WriteLine(i+1 + ": " + input[i]);
Console.WriteLine("Yeni Yön: " + rover.Yon);