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

KevlarMC

Hectopat
Katılım
23 Kasım 2020
Mesajlar
525
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
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: 78
Son düzenleme:
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 🤔
 
[CODE lang="csharp" title="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 = 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;
}
}
}
}
}
}[/CODE]

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.
 
[CODE lang="csharp" title="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 = 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;
}
}
}
}
}
}[/CODE]

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
 

Geri
Yukarı