C# random sayıyı sadece tek sayı halinde seçtirmek

Random.Next(begin, end) // (end exclusive (son hariç))
oyuncular[0] = 1 ve oyuncular[4] = 9. Çünkü bilgisayarlar 0'dan başlayarak sayar.

Random.Next(3, 9) derseniz de [3, 4, 5, 6, 7, 8] arasından bir sayı sonuncu alırsınız. 9 önceden de bahsettiğim sebepten çıktıda görünmez.

Eğer bir oyuncu ve bir kart seçecekseniz. Oyuncular ve Kartlar adında 2 ayrı dizi oluşturup ikisinden de sıra ile birer eleman seçmeniz daha mantıklı olacaktır.


C#:
// Main dışı
static Random rand new Random();
readonly string[] oyuncular = ["ahmet", "mehmet", "ali", "veli"];
readonly string[] akislar = ["Kırmızı kart", "Gol", "Aut", "Penaltı"];

public static string oyunuSec() => oyuncular[rand.Next(oyuncular.length)];
public static string akisSec() => akislar[rand.Next(akislar.length)];

// Main içerisi

string seciliOyuncu = oyuncuSec();
string seciliAkis = akisSec();

Tabi score vs tutacaksanız ayrı bir array'de tutmak yerine Oyuncu objesi yaratıp içerisine Score, isim gibi Attribute'lar ekleyebilirsiniz.
Şu anlık o kadar bilgim yok hocam. :) Teşekkürler.
Böyle bir çözüm bıldum.
[CODE lang="csharp" title="Çözüm"]{
Random rastgele = new Random();
action = rastgele.Next(0,8);
} while (action % 2 != 0);[/CODE]
 
Son düzenleme:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı