Programovanie | Fórum

Mato4434
2.3.2016 21:59  |  Nevhodné
Pridať do obľúbených
Hra 2048-text mode-- v C
--Ma niekto nejaké riešenie tejto úlohy v C ? :) Hra K vychádza z hry 2048 a podobne, ako aj hra 2048 sa hrá na poli o rozmeroch 4x4. Jediným rozdielom medzi týmito hrami je skutočnosť, že v hre K budete miesto čísel na hracích kameňoch používať písmená. Hráč vie tieto kamene posúvať do štyroch strán (v pôvodnej hre pomocou kurzorových kláves, v našom prevedení pomocou načítavania znakov, resp. reťazcov zo štandardného vstupu). Každý nový ťah hry sa začína vygenerovaním náhodnej dlaždice s písmenom 'A' alebo 'B'. Pri pohybe do strán sa dlaždice presunú tak ďaleko do danej strany, ako je to možné. Zastaviť ich môže buď iná dlaždica alebo okraj hracieho poľa. Ak sa pri presúvaní stretnú (dotknú) dve dlaždice s rovnakým písmenom, spoja sa do nasledujúceho písmena v poradí abecedy. Napr. ak sa pri presúvaní spoja dve písmená 'C', vznikne ich spojením jedno písmeno 'D'. Výsledná dlaždica, ktorá vznikla spojením dvoch iných dlaždíc, už však nemôže byť v danom ťahu spojená so žiadnou inou dlaždicou s rovnakým písmenom. Hráč dostáva za svoju hru body. Jeho skóre sa aktualizuje zakaždým, ak pri ťahu dôjde k spojeniu dvoch alebo viacerých dlaždíc. Spôsob výpočtu skóre je opísaný v samostatnej časti tohto textu. Hra sa končí vtedy, keď sa na hracej ploche objaví dlaždica s písmenom 'K' (odtiaľ pramení aj názov tejto hry). Vašou úlohou bude naprogramovať hru K v jazyku C implementovaním týchto dvoch modulov: Modul samotnej hry K. Modul reprezentujúci Hall of Fame (sieň slávy najlepších hráčov). Tieto moduly obsahujú všetky potrebné funkcie na implementáciu hry K. V rámci modulu si samozrejme môžete vytvoriť aj ďalšie pomocné funkcie. Nesmiete však nijako meniť a upravovať hlavičkové súbory oboch modulov!
Kľúčové slová: 2048
0 príspevkov
Mato4434
24.11.2017 14:04 | |
+0 -0
Reagovať
--Ma niekto nejaké riešenie tejto úlohy v C ? :) Hra K vychádza z hry 2048 a podobne, ako aj hra 2048 sa hrá na poli o rozmeroch 4x4. Jediným rozdielom medzi týmito hrami je skutočnosť, že v hre K budete miesto čísel na hracích kameňoch používať písmená. Hráč vie tieto kamene posúvať do štyroch strán (v pôvodnej hre pomocou kurzorových kláves, v našom prevedení pomocou načítavania znakov, resp. reťazcov zo štandardného vstupu). Každý nový ťah hry sa začína vygenerovaním náhodnej dlaždice s písmenom 'A' alebo 'B'. Pri pohybe do strán sa dlaždice presunú tak ďaleko do danej strany, ako je to možné. Zastaviť ich môže buď iná dlaždica alebo okraj hracieho poľa. Ak sa pri presúvaní stretnú (dotknú) dve dlaždice s rovnakým písmenom, spoja sa do nasledujúceho písmena v poradí abecedy. Napr. ak sa pri presúvaní spoja dve písmená 'C', vznikne ich spojením jedno písmeno 'D'. Výsledná dlaždica, ktorá vznikla spojením dvoch iných dlaždíc, už však nemôže byť v danom ťahu spojená so žiadnou inou dlaždicou s rovnakým písmenom. Hráč dostáva za svoju hru body. Jeho skóre sa aktualizuje zakaždým, ak pri ťahu dôjde k spojeniu dvoch alebo viacerých dlaždíc. Spôsob výpočtu skóre je opísaný v samostatnej časti tohto textu. Hra sa končí vtedy, keď sa na hracej ploche objaví dlaždica s písmenom 'K' (odtiaľ pramení aj názov tejto hry). Vašou úlohou bude naprogramovať hru K v jazyku C implementovaním týchto dvoch modulov: Modul samotnej hry K. Modul reprezentujúci Hall of Fame (sieň slávy najlepších hráčov). Tieto moduly obsahujú všetky potrebné funkcie na implementáciu hry K. V rámci modulu si samozrejme môžete vytvoriť aj ďalšie pomocné funkcie. Nesmiete však nijako meniť a upravovať hlavičkové súbory oboch modulov!