Feladat: I.228 Korcsoport: - Nehézségi fok: -
Füzet: 2009/december, 554. oldal  PDF  |  MathML 
Témakör(ök): Feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

A következő játékot ketten játszhatják. Egy sorba felállítanak páros sok bábut, amelyek mindegyikének ismert a tömege. A játékosok felváltva vesznek el a sor valamelyik végéről egy-egy bábut. Amikor a bábuk elfogynak, a levett bábuk tömegét összeadják és az nyert, akinél az összeg nagyobb.
Készítsük el a játék weblapon játszható változatát. Jelenítsük meg egy lapon a bábuk képét és rajtuk vagy alattuk a bábu tömegét. Ha a felhasználó a kívánt bábura kattint, és az a sor végén található, akkor a program tüntesse el a bábut, tömegét pedig adja hozzá a játékos eredményéhez. Amikor az összes bábu elfogyott, a program nevezze meg a győztest. Az egyik játékos legyen a gép, aki a játékot kezdi.
A játékot 16 bábura kell elkészíteni. A gép stratégiája, amely egyben a nyerés algoritmusa a következő: a kezdő játékos összeadja a páros és a páratlan sorszámú bábuk tömegét és azokból veszi le a sor végén állót, amelyik tömege nagyobb. Egyenlőség esetén mindegy, hogy a páros vagy páratlan sorszámúakat szemeli ki.
A feladat megoldásánál a HTML és a JavaScript elemei használhatók.
Beküldendő az i228.html dokumentum és az esetlegesen szükséges GIF, JPEG vagy PNG formátumú képfájlok, valamint a megoldás rövid dokumentációja (i228.txt vagy i228.pdf) egy i228.zip fájlba tömörítve.
(A feladat alapjául az 1996-os Nemzetközi Informatikai Diákolimpia egyik feladata szolgált.)