Clear        


                
                    namespace _03_Encapsulation.Demos.Barbut
{
    public class BarbutDemo
    {
        public static void Calistir()
        {
            string giris; // kullanıcının oynamak için evet (e), oyundan çıkmak için hayır (h) girişinin tutulacağı değişken

            Zar zar = new Zar(); // zar model objesi

            int zarSayi1, zarSayi2; // 1. ve 2. zarların sayısal değerlerinin tutulacağı değişkenler

            string zarYuz1, zarYuz2; // 1. ve 2. zarların yüzlerinin tutulacağı değişkenler

            Console.Write("Barbut oynamak ister misiniz? (e: evet, h: hayır) ");
            giris = Console.ReadLine().ToLower(); // while döngüsü için giris değişkenine ilk değer ataması,
                                                  // kullanıcı girişini ToLower methodu ile küçük harfe dönüştürüp giris değişkenine atıyoruz
                                                  // ki kolayca while'da ve if'te koşulları küçük harf üzerinden kontrol edebilelim

            while (giris != "h") // kullanıcı h girene kadar oyun devam edecek 
            {
                if (giris == "e") // kullanıcı e girdiyse oyunu oynatıyoruz
                {
                    // zarların atılması:
                    zarSayi1 = zar.At();
                    zarYuz1 = zar.Yuz;
                    zarSayi2 = zar.At();
                    zarYuz2 = zar.Yuz;

                    // gelen zarların yüzlerinin gösterimi:
                    Console.Write($"1. zar: {zarSayi1}");
                    Console.WriteLine(zarYuz1);
                    Console.Write($"2. zar: {zarSayi2}");
                    Console.WriteLine(zarYuz2);

                    // hangi zarın kazandığının belirlenmesi:
                    if (zarSayi1 == zarSayi2)
                        Console.WriteLine("Berabere.");
                    else if (zarSayi1 > zarSayi2)
                        Console.WriteLine("1. zar kazandı.");
                    else // if (zarSayi1 < zarSayi2) // son koşul olduğu için if koşulunu yazmaya gerek yok
                        Console.WriteLine("2. zar kazandı.");

                    Console.Write("Tekrar oynamak ister misiniz? (e: evet, h: hayır) ");
                }
                else // kullanıcı giriş validasyonu: kullanıcı e veya h girmediyse
                {
                    Console.Write("Lütfen evet için \"e\", hayır için \"h\" giriniz: "); // kullanıcıya e veya h girmesi gerektiği mesajını gösteriyoruz
                }
                giris = Console.ReadLine().ToLower(); // while döngüsü için giris değişkenine güncel değer ataması
            }
        }
    }
}