Şimdi Ara

Kendi yazdığım kod ile ilgili yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
347
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Öncelikle olayı anlatayım bir bomba oyunu yaptım 1ile 10 arasında kullanıcı bir değer giriyor ve bu 1 ile 10 arasında 1 adet bomba sayısı var kullanıcı bu sayıyı bulmadan başka bir sayı bulursa üst tura çıkıyor. Üst turda ise 2 tane bomba sayısı var her tur böyle artıyor taa ki 9 bomba 1 normal sayı kalana kadar ben bunu kodladım ancak sanki bir sorun var çok kolay bir şekilde kazanılıyor oyun bomba sayılarında bir hata var sanırım yardım edermisiniz?





    static void Main(string[] args)

        {                    // OYUNUN AMACI 1 İLE 10 ARASINDA SAYILARIN 1 TANESİ BOMBA SAYISI KULLANICI BU SAYIYI BULURSA ELENİR HER TUR BOMBA SAYISI ARTIYOR VE EN SON 9 BOMBA 1 DOĞRU SAYI KALANA KADAR OYUN DEVAM EDİYOR. SON TURUDA KAZANAN OYUNCU OYUNU BİTİRİR VE KAZANIR

          int tahmin = 0;          

          Random sayi = new Random();       //bu kısımda tahmin, sayı ve bomba değerleri atadım.

          Random sayi3 = new Random();       // bombalar rastgele olması için random komutuyla kullandım.

          int bomba2 = sayi3.Next(1, 10);

          int bomba1 = sayi.Next(1, 10);

          baslangic:

          Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Sayılardan 1 tanesinde bomba var! o sayıyı girmemeye çalışın.");

          tahmin = Convert.ToInt32(Console.ReadLine()); // kullanıcıdan sayı girmesi için yadığım komut.

          while(tahmin <1 || tahmin> 10) // kullanıcı istenilen değerlerin dışında çıkarsa goto komutu ile tekrar başa dönüyor.

          {

            Console.WriteLine("Lütfen 1 ile 10 arasında bir sayı girin");

            goto baslangic;

          }

          {

            if (tahmin == bomba1)  // eğer tahmin edilen yani girilen sayı bomba sayıysa kullanıcı eleniyor ve başa dönüyor.

            {

              Console.WriteLine("Bomba patladı! Elendiniz.");

              goto baslangic; // başa döndürme komutu


              Console.ReadKey();


            }

            else

            {

              Console.WriteLine("Tebrikler! Üst tura çıktınız."); // girilen sayı bomba değilse kullanıcı bir üst tura çıkıyor.


            }


            Random sayi6 = new Random();

            int bomba6 = sayi6.Next(1,10);  // bundan sonraki kısımlar her tur bomba sayısı 1er 1er artarak gidiyor.

            Random sayi4 = new Random();    // son tur yani 9 sayı bomba 1 sayı doğru sayı olana kadar oyun devam ediyor.

            int bomba3 = sayi4.Next(1, 10);    // son turdada bombaya yakalanmayan kullanıcı oyunu kazanıyor.

            

            Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Bu turda 2 bomba var! Dikkat edin.");

            tahmin = Convert.ToInt32(Console.ReadLine());


            if (tahmin == bomba3 && tahmin == bomba6)   // bu kısımda ise && ve ile ayırarak bomba sayısını çoğalttım.

            {

              Console.WriteLine("Bomba patladı ! Elendiniz");

              goto baslangic;

              Console.ReadKey();

            }

            else

            {

              Console.WriteLine("Tebrikler! Üst tura çıktınız.");

            }

            Random sayi7 = new Random();

            int bomba7 = sayi7.Next(1, 10); 

            Random sayi5 = new Random();

            int bomba4 = sayi5.Next(1, 10);

            Random sayi8 = new Random();

            int bomba8 = sayi8.Next(1, 10);


            Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Bu turda 3 bomba var! Dikkat edin.");

            tahmin = Convert.ToInt32(Console.ReadLine());


            if (tahmin == bomba7 && tahmin == bomba4 && tahmin ==bomba8)

            {

              Console.WriteLine("Bomba patladı ! Elendiniz");

              goto baslangic;

              Console.ReadKey();

            }

            else

            {

              Console.WriteLine("Tebrikler! Üst tura çıktınız.");

            }

            Random sayi10 = new Random();

            int bomba10 = sayi10.Next(1, 10);

            Random sayi11 = new Random();

            int bomba11 = sayi11.Next(1, 10);

            Random sayi12 = new Random();

            int bomba12 = sayi12.Next(1, 10);

            Random sayi13 = new Random();

            int bomba13 = sayi13.Next(1, 10);

            Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Bu turda 4 bomba var! Dikkat edin.");

            tahmin = Convert.ToInt32(Console.ReadLine());


            if (tahmin == bomba10 && tahmin == bomba11 && tahmin == bomba12 && tahmin == bomba13)

            {

              Console.WriteLine("Bomba patladı ! Elendiniz");

              goto baslangic;

              Console.ReadKey();

            }

            else

            {

              Console.WriteLine("Tebrikler! Üst tura çıktınız.");

            }

            Random sayi14 = new Random();

            int bomba14 = sayi14.Next(1, 10);

            Random sayi15 = new Random();

            int bomba15 = sayi15.Next(1, 10);

            Random sayi16 = new Random();

            int bomba16 = sayi16.Next(1, 10);

            Random sayi17 = new Random();

            int bomba17 = sayi17.Next(1, 10);

            Random sayi18 = new Random();

            int bomba18 = sayi18.Next(1, 10);

            Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Bu turda 5 bomba var! Dikkat edin.");

            tahmin = Convert.ToInt32(Console.ReadLine());


            if (tahmin == bomba14 && tahmin == bomba15 && tahmin == bomba16 && tahmin == bomba17 && tahmin == bomba18)

            {

              Console.WriteLine("Bomba patladı ! Elendiniz");

              goto baslangic;

              Console.ReadKey();

            }

            else

            {

              Console.WriteLine("Tebrikler! Üst tura çıktınız.");

            }

            Random sayi19 = new Random();

            int bomba19 = sayi19.Next(1, 10);

            Random sayi20 = new Random();

            int bomba20 = sayi20.Next(1, 10);

            Random sayi21 = new Random();

            int bomba21 = sayi21.Next(1, 10);

            Random sayi22 = new Random();

            int bomba22 = sayi22.Next(1, 10);

            Random sayi23 = new Random();

            int bomba23 = sayi23.Next(1, 10);

            Random sayi24 = new Random();

            int bomba25 = sayi24.Next(1, 10);

            Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Bu turda 6 bomba var! Dikkat edin.");

            tahmin = Convert.ToInt32(Console.ReadLine());


            if (tahmin == bomba19 && tahmin == bomba20 && tahmin == bomba21 && tahmin == bomba22 && tahmin == bomba23 && tahmin ==bomba25)

            {

              Console.WriteLine("Bomba patladı ! Elendiniz");

              goto baslangic;

              Console.ReadKey();

            }

            else

            {

              Console.WriteLine("Tebrikler! Üst tura çıktınız.");

            }

            Random sayi26 = new Random();

            int bomba26 = sayi26.Next(1, 10);

            Random sayi27 = new Random();

            int bomba27 = sayi27.Next(1, 10);

            Random sayi28 = new Random();

            int bomba28 = sayi28.Next(1, 10);

            Random sayi29 = new Random();

            int bomba29 = sayi29.Next(1, 10);

            Random sayi30 = new Random();

            int bomba30 = sayi30.Next(1, 10);

            Random sayi31 = new Random();

            int bomba31 = sayi31.Next(1, 10);

            Random sayi32 = new Random();

            int bomba32 = sayi32.Next(1, 10);

            Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Bu turda 7 bomba var! Dikkat edin.");

            tahmin = Convert.ToInt32(Console.ReadLine());


            if (tahmin == bomba26 && tahmin == bomba27 && tahmin == bomba28 && tahmin == bomba29 && tahmin == bomba30 && tahmin == bomba31 && tahmin == bomba32)

            {

              Console.WriteLine("Bomba patladı ! Elendiniz");

              goto baslangic;

              Console.ReadKey();

            }

            else

            {

              Console.WriteLine("Tebrikler! Üst tura çıktınız.");

            }

            Random sayi33 = new Random();

            int bomba33 = sayi33.Next(1, 10);

            Random sayi34 = new Random();

            int bomba34 = sayi34.Next(1, 10);

            Random sayi35 = new Random();

            int bomba35 = sayi35.Next(1, 10);

            Random sayi36 = new Random();

            int bomba36 = sayi36.Next(1, 10);

            Random sayi37 = new Random();

            int bomba37 = sayi37.Next(1, 10);

            Random sayi38 = new Random();

            int bomba38 = sayi38.Next(1, 10);

            Random sayi39 = new Random();

            int bomba39 = sayi39.Next(1, 10);

            Random sayi40 = new Random();

            int bomba40 = sayi40.Next(1, 10);

            Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Bu turda 8 bomba var! Dikkat edin.");

            tahmin = Convert.ToInt32(Console.ReadLine());


            if (tahmin == bomba33 && tahmin == bomba34 && tahmin == bomba35 && tahmin == bomba36 && tahmin == bomba37 && tahmin == bomba38 && tahmin == bomba39 && tahmin == bomba40)

            {

              Console.WriteLine("Bomba patladı ! Elendiniz");

              goto baslangic;

              Console.ReadKey();

            }

            else

            {

              Console.WriteLine("Tebrikler! Üst tura çıktınız.");

            }

            Random sayi41 = new Random();

            int bomba41 = sayi41.Next(1, 10);

            Random sayi42 = new Random();

            int bomba42 = sayi42.Next(1, 10);

            Random sayi43 = new Random();

            int bomba43 = sayi43.Next(1, 10);

            Random sayi44 = new Random();

            int bomba44 = sayi44.Next(1, 10);

            Random sayi45 = new Random();

            int bomba45 = sayi45.Next(1, 10);

            Random sayi46 = new Random();

            int bomba46 = sayi46.Next(1, 10);

            Random sayi47 = new Random();

            int bomba47 = sayi47.Next(1, 10);

            Random sayi48 = new Random();

            int bomba48 = sayi48.Next(1, 10);

            Random sayi49 = new Random();

            int bomba49 = sayi49.Next(1, 10);

            Console.WriteLine("1 ile 10 arasında bir sayı giriniz. Bu turda 9 bomba var! Dikkat edin.");

            tahmin = Convert.ToInt32(Console.ReadLine());


            if (tahmin == bomba41 && tahmin == bomba42 && tahmin == bomba43 && tahmin == bomba44 && tahmin == bomba45 && tahmin == bomba46 && tahmin == bomba47 && tahmin == bomba48 && tahmin == bomba49)

            {

              Console.WriteLine("Bomba patladı ! Elendiniz");

              goto baslangic;

            }

            else

            {

              Console.WriteLine("Tebrikler! Oyunu kazandınız");

            }

            Console.ReadLine();




          }

        }

      }

    }




    < Bu mesaj bu kişi tarafından değiştirildi alpacino0606 -- 2 Aralık 2021; 20:19:12 >







  • yardım lütfen

  • kıyaslarken && yerine || kullan

  • Gökşen PASLI G kullanıcısına yanıt

    hocam denedim ama anlamadığım şekilde 2 sadece2 ye basarak oyunu kazanabiliyorum yani oyun çok kolay aslında son turda sadece 1 tane kazanabilmek için sayı var9 bomba sayısı var ama onu bile geçiyorum hatayı bulamadım

  • bilen arkadaşlar lütfen 2 dakika ayırıp yardım ederrmisiniz

  • alpacino0606 A kullanıcısına yanıt

    1- & | operatörleri ne işe yarar nasıl kullanılır


    & (ve) operatörü : if içinde bütün koşulları kontrol eder hepsi geçerliyse bloğa girer

    && (ve) operatörü: if içinde bütün koşulları kontrol eder hepsi geçerliyse bloğa girer, & den farkı geçerli olmayan ilk koşulda bloğa girer, faydası performanstır


    || de içinde herhangi biri geçerliyse bloğa girer


    yani demem o ki 5 tane bombaya koşul koyup araya && koyarsan hepsi geçerliyse bomba patlar


    ilk düzeltmen tahmin-bomba koşullarına || koyman


    2- 10 bombaya ayrı ayrı random next yaparsan 10 bomban muhtemelen olmaz olursa da şansa olur.


    yani 10 farklı random next yaparsan bomba sayıların 1,3,3,3,5,7,7,9,9,1 şeklinde çıkabilir, yani sen 10 bomba tanımladığını düşünürsün ama 5 bomban vardır, bu da oyunu kazanma şansını arttırır


    bunun için bombalarını array ya da list içinde tutup her random ında o bomba sayısını kullanıp kullanmadığını sorgulatman lazım.


    birbirinden farksız bombalarını belirledikten sonra döngüyle tahminle aynı olan var mı yokmu bakıp patlatabilirsin.


    bunları yaptığında oyunun çalışır





  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.