Merhaba arkadaşlar, ben bu programda kullanıcının sadece 5 hakkının olmasını istiyorum. 5 hakta bulamazsa bir uyarı yazısı yazıp Console.WriteLine("Tekrar oynamak isterseniz, e/h basınız."); satırından devam etmesini istiyorum. Bilgisi olan arkadaşların yardımlarını bekliyorum. Not: Mesajı gönderebilmek için bir bölüm seçmemi istiyor. c# bölümü olmadığı için en yakın dil olarak java bölümünü gördüğümden buraya yazmak zorunda kaldım. İlgisizse özür dilerim.
using System; using System.Collections.Generic; using System.Text;
namespace sayiTutmaOyunuApp { class Program { static void Main(string[] args) { Console.WriteLine("1 ile 15 arası bir sayıyı tahmin etme oyunu"); Console.WriteLine("5 kez tahmin etme şansınız var."); basla:
Random rnd = new Random(); int tutulansayi = rnd.Next(1, 15);
int tahmin = 0;
do { Console.Write("Lütfen tahmininizi giriniz: "); tahmin = Convert.ToInt32(Console.ReadLine());
if (tahmin > tutulansayi) { Console.WriteLine("Daha küçük sayi giriniz:"); } else if (tahmin < tutulansayi) { Console.WriteLine("Daha büyük sayi giriniz:"); } else { Console.WriteLine("Tebrikler, doğru tahmin"); } } while (tahmin != tutulansayi);
if (cevap == 'e' || cevap == 'E') { Console.Clear(); goto basla; } } } }
Merhaba,
Kodunuzda ki bazı hatalar ile birlikte sorunuza cevapladım kodları aşağıda inceleyebilirsiniz. Yalnız kodları direkt kopyala yapıştır ile almayın, ilk önce okuyun zaten yorum satıları ile anlattım, daha sonra mantığını kavradıktan sonra kendiniz yapmaya çalışın.
Console.WriteLine("1 ile 15 arası bir sayıyı tahmin etme oyunu"); Console.WriteLine("5 kez tahmin etme hakkınız var"); char girilenKarakter; // kullanıcından alınan karakter E/H
do { Random random = new Random(); int sayi = random.Next(1, 15); int tahminEdilen = 0, hak = 0; // tahminEdilen: kullanıcıdan gelen tahmin, hak ise kullanıcının tahmin hakkı.
while(hak < 5) // hak 5den küçük ise çalıştır: { Console.Write("Bir sayi girin: "); tahminEdilen = int.Parse(Console.ReadLine());
if(tahminEdilen < sayi) { Console.WriteLine("Daha büyük bir sayı girin"); hak++; // yanlış girdiği için hak'ın değeri 1 arttırılıyor continue; // ve döngünün başına geri dönülüyor (while döngüsünün başına) } else if (tahminEdilen > sayi) { Console.WriteLine("Daha küçük bir sayı girin"); hak++; // yanlış girdiği için hak'ın değeri 1 arttırılıyor continue;// ve döngünün başına geri dönülüyor (while döngüsünün başına) } else { Console.WriteLine("Tebrikler doğru tahmin."); break; // doğru girildiği için while döngüsü sonlandırılıyor } }
girilenKarakter = Console.ReadKey().KeyChar; }while(girilenKarakter != 'H' && girilenKarakter != 'h'); // kullanıcının girdiği karakter h yada H değil ise tekrar çalışır
Kolay gelsin...
Alakanızdan ötürü teşekkür ederim. Ben de zaten sonucu aldıktan sonra mantığı kavramak üzere neden bu kodu buraya yazdınız diye soracaktım. Gerek kalmamış çünkü zaten açıklayıcı bilgileri eklemişsiniz.
quote:
Orijinalden alıntı: gurkanv
Alakanızdan ötürü teşekkür ederim. Ben de zaten sonucu aldıktan sonra mantığı kavramak üzere neden bu kodu buraya yazdınız diye soracaktım. Gerek kalmamış çünkü zaten açıklayıcı bilgileri eklemişsiniz.
Rice ederim, ne demek. Yardımcı olabilmiş isem ne mutlu bana.