Rizikó csata szimulátor

Készíts C nyelvű programot, amely közelítőleg kiszámítja a támadó győzelmének esélyét egy rizikó csatában! A program először kérdezze meg a támadó illetve a védő hadosztályainak számát, valamint hogy hányszor szimulálja le a csatát! Ezután írja a támadó győzelmi esélyét, vagyis a támadó győzelmével végződött csaták százalékos arányát az összes csatához képest.

Azok számára, akik sosem játszottak még Rizikót, leírom a csata szabályait (és ajánlom, hogy próbálják ki a játékot ;-). A rizikó csatát kockadobások segítségével bonyolítják le a következő módon: A csata körökre van osztva, minden körben a támadó és a védő is dob valahány kockával. Ha a támadónak 1 hadosztálya van, akkor 1, ha 2 hadosztálya van, akkor 2, ha több mint 2 hadosztálya van, akkor 3 kockával dobhat. Ha a védőnek 1 vagy 2 hadosztálya van, akkor 1, ha több mint 2 hadosztálya van, akkor 2 kockával dobhat.

A dobások után a támadó legmagasabb értékű dobása összehasonlításra kerül a védő legmagasabb értékű dobásával, és ha van rá lehetőség akkor a támadó második legmagasabb értékű dobása a védő második legmagasabb értékű dobásával. Ha egy összehasonlításban a támadó dobása nagyobb a védő dobásánál, akkor a védő, egyébként pedig a támadó veszít egy hadosztályt. (Egyenlő dobások esetén a támadó veszít!) A veszteségek levonása után a csata ugyanezen szabályok szerint folytatódik tovább, amíg az egyik fél összes hadosztálya el nem fogy.

Példa: A támadó 3 hadosztállyal támad egy 3 hadosztállyal védett területet. Az 1. csatakörben a támadó 3, a védő pedig 2 kockával dobhat. Tegyük fel, hogy a támadó 3,2,5-öt, a védő pedig 3,4-et dobott. Ekkor mindkét fél veszít 1-1 hadosztályt, mivel a legnagyobb dobások között a támadó nyert (5>4), a második legnagyobb dobások között pedig a védő (3=3). Tehát az 1. csatakör után támadónak és a védőnek is 2 hadosztálya maradt. A 2. csatakörben a támadó 2, a védő pedig 1 kockával dobhat. Mondjuk, hogy az eredmény 5,2 illetve 4 volt! Ennek hatására a védő veszít 1 hadosztályt. A 3. csatakörben a támadó 2, a védő pedig 1 kockával dobhat. Tegyük fel, hogy 1,6 illetve 5 jött ki! Ekkor a védő elveszti az utolsó hadosztályát, és a támadó megnyeri a csatát.


Példa futási eredmény:
Tamadok szama: 10
Vedok szama: 10
Hanyszor szimulaljam le a csatat? 1000000
A tamado nyeresi eselye: 59.42 %

Először mindenképp önállóan próbáld megoldani a feladatot!
Ha végképp elakadtál, akkor nézd meg a segítséget!
A kész megoldásodat tanulságos lehet összehasonlítani a mintamegoldással.
Vissza a főoldalra