static public void Start() { int ownedChip = 100; Console.WriteLine("Rulet oyununa hoşgeldiniz!"); while (ownedChip > 0) { //BAHİS Bahis bahis = Program.BahisYap(ownedChip); //RULET Chip result = Program.RuletOyna(); //SONUÇ ownedChip = Program.Sonuc(ownedChip, bahis, result); if (ownedChip >= 300) // Chip sayısı 300 ve üzeri olduğunda oyun kazanılır. { Console.WriteLine("KAZANDINIZ!"); break; } else if (ownedChip <= 0) // Chip sayısı 100 ve altına düştüğünde oyun kaybedilir. { Console.WriteLine("Kalan çip sayınız: " + ownedChip + " Oyunu kaybettiniz."); break; } else { Console.WriteLine("Kalan çip sayınız: " + ownedChip + " Oyun devam ediyor."); } } }
static public Bahis BahisYap(int ownedChip) { int chipAmount; // Yatırılacak chip miktarı String option; // Bahis seçeneklerinden biri (sayı-nitelik) Console.WriteLine("Bir sayı (0-99), Kırmızı ('K', 'k'), siyah ('S', 's'), tek ('T', 't') veya çift ('Ç', 'ç') seçin:"); String choice = Console.ReadLine().ToLower(); //Alınan değer kontrol kısmında kolaylık sağlaması için küçük harfe dönüştürülüyor. bool isNumeric = int.TryParse(choice, out _); //Değerin sayısal veya string değer olup olmadığı kontrol ediliyor. if (isNumeric == true) { option = "number"; // Sayı seçildiğinde 'number' seçeneği atandı. while (Int32.Parse(choice) < 0 || Int32.Parse(choice) >= 100) //Sayının 0'dan 99'a kadar olma kontrolü. { Console.WriteLine("Sadece 0 - 99 arasındaki sayılari seçebilirsiniz. Yeniden seçim yapınız:"); choice = Console.ReadLine(); } } else { option = "qualification"; // Nitelik seçildiğinde 'qualification' seçeneği atandı. while (!(choice.Equals("k") || choice.Equals("s") || choice.Equals("t") || choice.Equals("ç"))) { // Seçim girdilerinin kontrolü yapıldı. Console.WriteLine("Böyle bir seçim tanımlı değil. Yeniden seçim yapınız (('K', 'k'),('S', 's'),('T', 't'), ('Ç', 'ç')):"); choice = Console.ReadLine().ToLower(); } } Console.WriteLine("Yatırmak istediğiniz chip miktarını giriniz:"); chipAmount = Int32.Parse(Console.ReadLine()); if (chipAmount > ownedChip) { Console.WriteLine("Sahip olduğunuzdan daha fazla çip ile oyuna katılamazsınız. Max bahis: " + ownedChip); Console.WriteLine("Yatırmak istediğiniz chip miktarını giriniz:"); chipAmount = Int32.Parse(Console.ReadLine()); } Bahis bahis = new Bahis(option, choice, chipAmount); return(bahis); }
static public int Sonuc(int ownedChip, Bahis bahis, Chip result) { int chipAmount = bahis.chipAmount; // Yatırılan çip miktarı Bahis nesnesinden alınır. switch (bahis.option) { case "number": // Sayı seçimi if (Int32.Parse(bahis.choice) == result.value) // Eğer seçtiğimiz sayı kazanan sayıyla eşleşirse 100 katı chip kazanılır. { ownedChip += ((chipAmount * 100) - chipAmount); } else { ownedChip -= chipAmount; } break; case "qualification": // Nitelik seçimi if (bahis.choice == result.parity || bahis.choice == result.color) // Eğer seçtiğimiz nitelik kazanan sayının herhangi bir niteliğiyle eşleşirse 2 katı chip kazanılır. { ownedChip += ((chipAmount * 2) - chipAmount); } else { ownedChip -= chipAmount; } break; } return(ownedChip); // Sona kalan çip miktarı değerlendirilmek için döndürülür. }