Kolik zásahů?
Čas na malý projekt! V tomto miniprojektu napíšete celý program sami. Použijete to, co jste se naučili v prvních třech lekcích: výpis, proměnné, počítání a podmínky.
Cvičení tady vypadají trochu jinak než dosud. Pokyny říkají, co má program vypsat, ne jak ho napsat. Správných řešení je mnoho, takže si vyberte takové, které vám dává smysl. Když si nebudete vědět rady, podívejte se zpátky do lekce, kde jste se potřebné věci naučili.
Projekt. Hry patří k tomu, k čemu se C++ používá nejčastěji. Ve třech cvičeních napíšete jádro malé hry na hrdiny: souboj hrdiny s drakem. Váš program spočítá, jak souboj proběhne, kdo v něm vyhraje a co hrdina za vítězství získá. Každé cvičení navazuje na to předchozí: editor začíná hotovým programem z předchozího kroku, který může vypadat jinak než ten váš. To nevadí.
Data. Proměnné na začátku funkce main popisují bojovníky: utokHrdiny je, kolik životů hrdina ubere drakovi jedním zásahem, zivotyDraka, kolik životů má drak, a utokDraka, kolik životů ubere drak hrdinovi jedním útokem. Ve skutečné hře by tyto hodnoty přišly ze hry samotné. Tady je program dostane z proměnných a váš kód má pracovat s proměnnými, ne s jejich čísly opsanými do kódu: když proměnnou změníte, program musí pořád vypsat správný výsledek. Proto každé cvičení spustí váš program i s jinými hodnotami a i s nimi musí vyjít správně.
Úkol. Hrdina útočí první. Každý zásah ubere drakovi utokHrdiny životů a drak je poražený, když mu životy klesnou na 0 nebo níž. Po každém zásahu, který ho neporazí, drak zaútočí zpátky. Drak se 150 životy vydrží 6 zásahů po 23, protože 6 × 23 je jen 138. Porazí ho až 7. zásah. Drak tedy zaútočí 6krát a hrdina ztratí 6 × 18 = 108 životů. Program vypíše:
Potřebné zásahy: 7
Útoky draka: 6
Ztracené životy: 108Tip: vzpomeňte si na / a % z lekce o proměnných. Jedno vám řekne, kolik celých zásahů se do drakových životů vejde, druhé, jestli po nich drakovi zbudou životy, na které je potřeba ještě jeden zásah.
Pozor na souboj, ve kterém zásahy uberou drakovi přesně všechny životy. S utokHrdiny = 25 ubere 6 zásahů přesně 150 životů, takže hrdinovi stačí 6 zásahů a drak zaútočí 5krát.
Jak psát:
Pokyny
Vypište, kolik zásahů hrdina potřebuje, aby draka porazil, stejně jako v ukázce.
Pod to vypište, kolikrát drak zaútočí a kolik životů hrdina ztratí.
Začněte programovat zdarma
1/3