Şimdi Ara

c#'da sayı tutma oyununa yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
1.138
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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);

    Console.WriteLine("Tekrar oynamak isterseniz, e/h basınız.");

    char cevap = Console.ReadKey().KeyChar;

    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
    }
    }

    Console.WriteLine("Tekrar oynamak istiyormusunuz(E/H)?: ");

    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.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.