namespace Feladat12_TarsasjatekSzimulacio { internal class Program { static void Main(string[] args) { const int JATEKOK_SZAMA = 10000; const int KOCKAK_SZAMA = 3; const int BONUSZHATAR = 15; Random random = new Random(); Console.WriteLine("=== Társasjáték-szabály tesztelése szimulációval ==="); Console.WriteLine($"Lejátszott körök száma: {JATEKOK_SZAMA}"); Console.WriteLine(); int bonuszosKorok = 0; int hatostTartalmazoKorok = 0; double osszesPont = 0; int legjobbKor = 0; int legjobbKorSorszama = 0; for (int kor = 1; kor <= JATEKOK_SZAMA; kor++) { int korOsszege = 0; bool voltHatos = false; for (int dobas = 1; dobas <= KOCKAK_SZAMA; dobas++) { int kocka = Dobas(random); korOsszege += kocka; if (kocka == 6) { voltHatos = true; } } osszesPont += korOsszege; if (korOsszege >= BONUSZHATAR) { bonuszosKorok++; } if (voltHatos) { hatostTartalmazoKorok++; } if (korOsszege > legjobbKor) { legjobbKor = korOsszege; legjobbKorSorszama = kor; } } double bonuszArany = bonuszosKorok * 100.0 / JATEKOK_SZAMA; double hatosArany = hatostTartalmazoKorok * 100.0 / JATEKOK_SZAMA; double atlagPont = osszesPont / JATEKOK_SZAMA; Console.WriteLine("--- Mérési eredmények ---"); Console.WriteLine($"Bónuszt hozó körök: {bonuszosKorok} db ({bonuszArany:F2}%)"); Console.WriteLine($"Elméleti érték: 9,26%"); Console.WriteLine($"Legalább egy hatost tartalmazó körök: {hatostTartalmazoKorok} db ({hatosArany:F2}%)"); Console.WriteLine($"Elméleti érték: 42,13%"); Console.WriteLine($"A dobások átlagos összege: {atlagPont:F2} pont (elméleti érték: 10,50)"); Console.WriteLine($"A legjobb kör a(z) {legjobbKorSorszama}. volt, {legjobbKor} ponttal."); Console.WriteLine(); if (bonuszArany < 5) { Console.WriteLine("A bónusz túl ritka, érdemes csökkenteni a határt."); } else if (bonuszArany > 25) { Console.WriteLine("A bónusz túl gyakori, érdemes emelni a határt."); } else { Console.WriteLine("A bónusz gyakorisága megfelelő, a szabály maradhat."); } } static int Dobas(Random random) { return random.Next(1, 7); } } }