C# örnekte verilen oyun output'a nasıl çıkarılır?

KevlarMC

Centipat
Katılım
23 Kasım 2020
Mesajlar
357
Merhaba aşağıdaki oyunu C# diliyle outputa çıkarmak istiyorum

Oyunu olan C# kodlarını kullanarak bir program yazın.
• Program oyunlar içerecektir.
• Oyun sayısı kullanıcı tarafından girilecektir.
o Oyun sayısı 1 ile 8 arasında girilirse,
▪ Her oyunda 1 ile 49 arasında 6 sayı olacaktır.
o Oyun sayısı 1 ile 49 arasında girilmezse,
▪ Kullanıcıdan oyun numarasını tekrar girmesi istenecektir.
• Her oyun için rastgele sayılar (1 ile 49 arasında) görüntülenecektir.
• Rastgele sayıları gösterdikten sonra, oran sayılarını görüntüleyin ve
eşitler.

Yardımlarınızı bekliyorum...
Yapan birisi olursa mantığını da anlatırsa çok sevinirim.
 

Dosya Ekleri

  • Adsız.png
    Adsız.png
    85,1 KB · Görüntüleme: 62
Son düzenleme:

Gtrixella

Hectopat
Katılım
23 Ocak 2018
Mesajlar
159
Çözümler
3
"Output" olarak çıkartmaktan kastın nedir? Program çalışırken terminal'de gördüğün yazıları .txt dosyasına falan mı yazdırmak istiyorsun?
 

JohnCardi

Femtopat
Katılım
8 Aralık 2021
Mesajlar
25
Yer
İzmir
Ilk Debug alman hataları denetlemen ve çözmen lazım. Bunun için C# da try ve catch modülünü kullan hatalarında. Bundan sonra release alabilirsin ve oluşturduğun exe dosyasını kullanabilirsin. Kullanıcı girdilerini almak için getasynckeystate - keybdevents modülünü kullanmalısın ama form uygulamalarında ayrı bir iş parçacığında interval delay olmadan halletmrn lazım. Static bool kullanman tavsiyedir true false işlemlerin için ya da dediğin gibi değer alacak ve ona göre gideceksen
Örneğin;

Kod dışına class içine

Static bool oyunbaslatma = false;
Static double oyunsayisi = 0;

Thread üzerinde çalışan döngüye
While(oyunbaslatma == true)
{
Keyboard Event modulun ve degiskenin ve verin
Ne yaptirmak istedigin
}

Bu form türünde background keyboard capture için geçerli örnek modüller Console da read kullanarak halledebilirsin. Başarılar 🤔
 

Reduxx

Centipat
Katılım
3 Ekim 2020
Mesajlar
958
Çözümler
1
C#:
using System;

namespace ConsoleOddEvenGame
{
    class Program
    {
        static void Main(string[] args)
        {
            while(true)
            {
            Console.Write("How many games do you want to play?\n(Number of games must be between 1 and 8(1 and 8 not included)): ");
            int gameCount = Convert.ToInt32(Console.ReadLine());
            Console.Write("\n");
            while (true)
            {
                if(gameCount <= 1 || gameCount >= 8)
                {
                    Console.Write("Re-enter the a number between 1 and 8 for the count of the games: ");
                    gameCount = Convert.ToInt32(Console.ReadLine());
                    Console.Write("\n");
                }
                else if(gameCount > 1 && gameCount < 8)
                {
                    break;
                }
            }
            int[] numberArray = new int[6];
            Random rnd = new Random();
            int numberOfTheGame = 1,odds = 0,evens = 0;
                while (true)
                {
                    if (numberOfTheGame <= gameCount)
                    {
                        for (byte i = 0; i < numberArray.Length; i++)
                        {
                            numberArray[i] = rnd.Next(1, 50);
                        }
                        Console.Write(numberOfTheGame + ". GAME: {0} {1} {2} {3} {4} {5}\n", numberArray[0], numberArray[1], numberArray[2], numberArray[3], numberArray[4], numberArray[5]);
                        foreach (var x in numberArray)
                        {
                            if (x % 2 == 0)
                            {
                                evens++;
                            }
                            else
                            {
                                odds++;
                            }
                        }
                        Console.WriteLine("Number of odds: {0}\nNumber of evens: {1}", odds, evens);
                        numberOfTheGame++;
                        odds = 0;
                        evens = 0;
                        Console.WriteLine("------------------------------------------------------------------------------------------------------------------");
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }
    }
}

Eğer girilen numara 1 ve 8 arasında değilse tekrar soruyor. 1 ve 8 dahil değildir. ardından bi tane integer array tanımlıyoruz 6 elemanlık, for döngüsü ile her birine 1 ve 49 arasında(1 ve 49 dahildir) rastgele sayı tanımlıyoruz. Random sınıfındaki Next fonksiyonu sayesinde. ardından oyunun sayısının yanına index yöntemiyle array elemanlarını yazdırıryoruz. sonra foreach döngüsü ile çift olup olmadığını kontrol ediyoruz. çift ise evens değişkenine 1 ekliyor. değilse odds değişkenine 1 ekliyor. ardındanda sonucu yazdırıyor. bunların hepsi bir while döngüsünün içinde oluyor ki devam edebilesin. (Eğer bir array in elemanlarını sonra tanımlıcaksanız sadece kaç elemanlı olduğunu tanımladıysanız for kullanmanız daha iyi olur. eğer tanımladıysanız ve o elemanlarda değişiklik yapcaksanız yada kontrol yapcaksanız foreach daha pratik olur.).

Bunun öğretmeninizin verdiği bir ödev olmadığını umuyorum. zaten eğer öyleyse zararı size olacakdır.
 
KS
KS
KevlarMC

KevlarMC

Centipat
Katılım
23 Kasım 2020
Mesajlar
357
C#:
using System;

namespace ConsoleOddEvenGame
{
    class Program
    {
        static void Main(string[] args)
        {
            while(true)
            {
            Console.Write("How many games do you want to play?\n(Number of games must be between 1 and 8(1 and 8 not included)): ");
            int gameCount = Convert.ToInt32(Console.ReadLine());
            Console.Write("\n");
            while (true)
            {
                if(gameCount <= 1 || gameCount >= 8)
                {
                    Console.Write("Re-enter the a number between 1 and 8 for the count of the games: ");
                    gameCount = Convert.ToInt32(Console.ReadLine());
                    Console.Write("\n");
                }
                else if(gameCount > 1 && gameCount < 8)
                {
                    break;
                }
            }
            int[] numberArray = new int[6];
            Random rnd = new Random();
            int numberOfTheGame = 1,odds = 0,evens = 0;
                while (true)
                {
                    if (numberOfTheGame <= gameCount)
                    {
                        for (byte i = 0; i < numberArray.Length; i++)
                        {
                            numberArray[i] = rnd.Next(1, 50);
                        }
                        Console.Write(numberOfTheGame + ". GAME: {0} {1} {2} {3} {4} {5}\n", numberArray[0], numberArray[1], numberArray[2], numberArray[3], numberArray[4], numberArray[5]);
                        foreach (var x in numberArray)
                        {
                            if (x % 2 == 0)
                            {
                                evens++;
                            }
                            else
                            {
                                odds++;
                            }
                        }
                        Console.WriteLine("Number of odds: {0}\nNumber of evens: {1}", odds, evens);
                        numberOfTheGame++;
                        odds = 0;
                        evens = 0;
                        Console.WriteLine("------------------------------------------------------------------------------------------------------------------");
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }
    }
}

Eğer girilen numara 1 ve 8 arasında değilse tekrar soruyor. 1 ve 8 dahil değildir. ardından bi tane integer array tanımlıyoruz 6 elemanlık, for döngüsü ile her birine 1 ve 49 arasında(1 ve 49 dahildir) rastgele sayı tanımlıyoruz. Random sınıfındaki Next fonksiyonu sayesinde. ardından oyunun sayısının yanına index yöntemiyle array elemanlarını yazdırıryoruz. sonra foreach döngüsü ile çift olup olmadığını kontrol ediyoruz. çift ise evens değişkenine 1 ekliyor. değilse odds değişkenine 1 ekliyor. ardındanda sonucu yazdırıyor. bunların hepsi bir while döngüsünün içinde oluyor ki devam edebilesin. (Eğer bir array in elemanlarını sonra tanımlıcaksanız sadece kaç elemanlı olduğunu tanımladıysanız for kullanmanız daha iyi olur. eğer tanımladıysanız ve o elemanlarda değişiklik yapcaksanız yada kontrol yapcaksanız foreach daha pratik olur.).

Bunun öğretmeninizin verdiği bir ödev olmadığını umuyorum. zaten eğer öyleyse zararı size olacakdır.
Çok teşekkürler
 
Yukarı