10. GYAKORLÁS · 18. FELADAT · FORRÁSKÓD

Kocka-pontverseny

18_kocka_pontverseny.cs
18_kocka_pontverseny.csAnimáció megnyitása →
namespace Feladat18 // A névtér elkülöníti a 18. feladat kódját.
{ // Itt kezdődik a Feladat18 névtér.
    internal class Program // A Program nevű osztály deklarációja.
    { // Itt kezdődik a Program osztály törzse.
        static void Main(string[] args) // A Main a program belépési pontja.
        { // Itt kezdődik a Main metódus törzse.
            Random random = new Random(); // Létrehozunk egy Random objektumot.
            Console.Write("Hány fordulós legyen a játék (1-20)? "); // Bekérjük a fordulók számát.
            int fordulok = int.Parse(Console.ReadLine()); // A beolvasott értéket egész számmá alakítjuk; a feladat szerint 1 és 20 közötti értékkel számolunk.
            int jatekosGyozelem = 0; // A játékos megnyert fordulóinak számlálója kezdetben 0.
            int gepGyozelem = 0; // A gép megnyert fordulóinak számlálója kezdetben 0.
            int dontetlen = 0; // A döntetlen fordulók számlálója kezdetben 0.
            for (int i = 1; i <= fordulok; i++) // A ciklus annyiszor fut le, ahány fordulót kért a felhasználó.
            { // Itt kezdődik a for ciklus.
                int jatekos = random.Next(1, 7); // A játékos 1 és 6 közötti kockadobást kap.
                int gep = random.Next(1, 7); // A gép is 1 és 6 közötti kockadobást kap.
                Console.Write($"{i}. forduló: játékos = {jatekos}, gép = {gep} - "); // Kiírjuk a forduló sorszámát és a két dobást.
                if (jatekos > gep) // Megvizsgáljuk, hogy a játékos dobása nagyobb-e.
                { // Itt kezdődik az első if blokk.
                    Console.WriteLine("játékos nyert"); // Kiírjuk a forduló győztesét.
                    jatekosGyozelem++; // Növeljük a játékos győzelmeinek számlálóját.
                } // Itt ér véget az első if blokk.
                else if (gep > jatekos) // Ha a játékos nem nyert, megvizsgáljuk, hogy a gép dobása nagyobb-e.
                { // Itt kezdődik az else if blokk.
                    Console.WriteLine("gép nyert"); // Kiírjuk a forduló győztesét.
                    gepGyozelem++; // Növeljük a gép győzelmeinek számlálóját.
                } // Itt ér véget az else if blokk.
                else // Ha egyik dobás sem nagyobb, akkor a két érték egyenlő.
                { // Itt kezdődik az else blokk.
                    Console.WriteLine("döntetlen"); // Kiírjuk, hogy a forduló döntetlen.
                    dontetlen++; // Növeljük a döntetlenek számlálóját.
                } // Itt ér véget az else blokk.
            } // Itt ér véget a for ciklus.
            Console.WriteLine($"Játékos győzelmei: {jatekosGyozelem}"); // Kiírjuk a játékos megnyert fordulóinak számát.
            Console.WriteLine($"Gép győzelmei: {gepGyozelem}"); // Kiírjuk a gép megnyert fordulóinak számát.
            Console.WriteLine($"Döntetlenek: {dontetlen}"); // Kiírjuk a döntetlen fordulók számát.
            if (jatekosGyozelem > gepGyozelem) // Megvizsgáljuk, hogy összesítésben a játékosnak van-e több győzelme.
            { // Itt kezdődik az összesítő if blokk.
                Console.WriteLine("A teljes játékot a játékos nyerte."); // Kiírjuk a játék végső győztesét.
            } // Itt ér véget az összesítő if blokk.
            else if (gepGyozelem > jatekosGyozelem) // Ha nem a játékos vezet, megvizsgáljuk, hogy a gépnek van-e több győzelme.
            { // Itt kezdődik az összesítő else if blokk.
                Console.WriteLine("A teljes játékot a gép nyerte."); // Kiírjuk a játék végső győztesét.
            } // Itt ér véget az összesítő else if blokk.
            else // Ha ugyanannyi győzelmük van, a teljes játék döntetlen.
            { // Itt kezdődik az összesítő else blokk.
                Console.WriteLine("A teljes játék döntetlen lett."); // Kiírjuk a végső döntetlent.
            } // Itt ér véget az összesítő else blokk.
        } // Itt ér véget a Main metódus.
    } // Itt ér véget a Program osztály.
} // Itt ér véget a névtér.