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:

Geri
Yukarı