using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _15_Sayı_bulma_oyunu__do_while_
{
internal class Program
{
private static void Main(string[] args)
{
start:
int? tahmin = null;
string again = null;
int denenen = 0;
Random rnd = new Random();
Console.WriteLine("Sayı Bulma Oyununa hoşgeldiniz. Sistem 1-100 arası bir sayı seçti!");
do
{
int random = rnd.Next(1, 100);
// Next ile rastgele bir sayı belirledik ve bu sayıyı random değişkenine attık.
do
{
Console.Write("Bir tahminde bulunun : ");
tahmin = int.Parse(Console.ReadLine());
if (tahmin < random)
{
Console.WriteLine("Sayı çok küçük. Yukarı!");
denenen++;
// oyunu kaçıncı denemede kazandığımızı görebilmek için bu değişkeni atadık.
// bu değişkeni de her deneme yaptığımızda 1 artırıyoruz (++ operatörü ile).
}
else if (tahmin > random)
{
Console.WriteLine("Sayı cok büyük. Aşağı!");
denenen++;
// bu if şartı sağlandığında da 'denenen' değişkenini 1 artırıyoruz.
}
} while (tahmin < random || tahmin > random);
if (tahmin == random)
{
Console.WriteLine("Bravo! Oyunu {0}. denemede tamamladınız!", denenen + 1);
Console.WriteLine("Tekrar oynamak ister misiniz? (evet/hayır)");
denenen = 0;
// eğer cevap doğru bilinmişse denenen = 0 yapılsın
// şeklinde kodumuzu yazdık. Çünkü kullanıcı ikinci bir oyuna başlarsa;
// deneme sayısı tekrar sıfırlanmak zorunda.. Yoksa oyunun en başından
// itibaren tüm deneme sayıları; bu yeni başlayan oyunun finalinde
// ekrana yazdırılır. Bu ise istemediğimiz bir durumdur.
do
{
again = Console.ReadLine().ToUpper();
if (again == "HAYIR")
{
Console.WriteLine("Teşekkürler. İyi günler!");
Console.ReadKey();
Environment.Exit(5);
}
if ((again != "EVET" & again != "HAYIR"))
{
Console.WriteLine("hatalı giris. Evet veya hayır yazın.");
}
} while (again != "EVET" & again != "HAYIR");
}
} while (again == "EVET");
}
}
}
Hiç yorum yok:
Yorum Gönder