IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lovíme Minótaura (6. časť, lov)

... dokončenie z minulej lekcie

Konečne sa dostávame k samotnému lovu minotaurov.

Pripravte číselnú konštantu max. Sila zásahu strelou a nastavte ju na 0.2. Tobude maximálny úbytok života pri zásahu Minotaura. Doseznamu minotaurov doplňte premennú život Minotaura (0 až 1). Premennú nastavte na hodnotu 1 vo funkcii umiestnenia Minotaura, do podmienky testujúci nájdenie vyhovujúce nové súradnice.

Zdravie Minotaura budeme indikovať tým, že s ubúdajúcim zdravím bude získavať červenú farbu. Preto vytvorte novú funkciu, aktualizácie farby Minotaura. Červenú zložku farby Minotaura necháme Stalen maxime, zatiaľ čo modrú a zelenú zložku budeme meniť podlehodnoty života. Volanie funkcie doplňte do funkcie umiestnenia Minotaura, za inicializácii zdravie Minotaura na 1.

3D grafika

Budeme pokračovať vo funkcii obsluha striel a výbuchov. Pripravte lokálnu premennú účinnosť zásahu Minotaura. Do obsluhy striel, za podmienku zásahu do steny, doplňte cyklus test zásahu Minotaura. V cykle budeme prechádzať zoznam minotaurov atestovat, či strela dosiahla blízkosti Minotaura.

3D grafika

Ak sa priblíži strela dostatočne blízko k Mínotaurovi (zvolili sme vzdialenosť 0.4), bude sa jednať o zásah. Vypneme viditeľnosť strely a zahájime zobrazenie výbuchu. Jednoducho skopírujte skupinu začatia výbuchu z obsluhy nárazu strely do steny. Vygenerujeme účinnosť zásahu Minotaura ako náhodné číslo od nuly po maximálnu silu zásahu. Hodnotu odpočítame od života Minotaura. Po obsluhu prípadnej smrti Minotaura musíme znovu vybrať ID strely, kvôli ďalšej obsluhe strely.

3D grafika

Ak život Minotaura dosiahol nulu, znamená to jeho smrť. Prehráme jeho posmrtný výkrik a umiestnime Minotaura na novú pozíciu. Tým pred hráča mminotaurus zmizne a objaví sa nový niekde mimo dohľadu hráčov.Ak ešte ku smrti Minotaura nedošlo, zobrazíme novú farbu Minotaura. Zrejme bude červenšia. Ak bol zásah dostatočne úspešný, Minotaurus zareve bolesťou (priemerne každý 4. zásah).

3D grafika

Smrteľný výkrik Minotaura prehráme tak, že hlasitosť ubúda s rastúcou vzdialenosťou. Navyše budeme meniť náhodne rýchlosť prehrávania, aby zvuk neznel stále rovnako. Podobne prehráme aj zvuk pri zásahu Minotaura, len použijeme iný zvuk.

3D grafika

Program vyskúšajte, skúste streľbu do minotaurov. Po ich zásahu by sa mali objavovať výbuchy, mali by občas zaskučať bolesťou, červenať a po nejakej Dobeš výkrikom zmiznúť. Ak by sa nám chcelo ďalej experimentovať, mohli by sme ešte pridať animáciu ich rozstreknutia pri smrti, ale zatiaľ nám to takto stačí.

3D grafika

Náš lov je samozrejme nespravodlivý. Aký by to bol boj bez nebezpečenstva, ak by Minotaur nemali šancu nám niečo urobiť? Takže ešte musíme zabezpečiť možnosť útoku z ich strany. Budeme na to potrebovať konštantu sila uhryznutie, ktorú nastaviteľné 0.3. Bude udávať, o koľko ubudne hráči života jedným uhryznutím od Minotaura. Ďalej konštantu rýchlosť obnovenie zdravia, nastavte ju na 0.02. Bude znamenať rýchlosť, s akou sa hráči bude samo vracať zdravie.

Prejdite do funkcie obsluha minotaurov. Do cyklu obsluhy doplňte podmienku testujúci vzdialenosť Minotaura od hráča a náhodu v závislosti načase. Ak je hráč dostatočne blízko a ak má smolu, Minotaurus uhryzne. Prehriatej zvuk uhryznutie a znížime život hráča. Smrť hráča na účely tutoriálu neriešime, len obmedzíme aby nepodtekla pod nulu.

3D grafika

Program skúste. Ak necháte sa párkrát uhryznúť, začnete vidieť naozaj rude.

3D grafika

Hráči necháme zdravie pomaly obnovovať. Obnovu zdravie doplňte do hlavnej funkcie.

3D grafika

Už nám chýba len nejaké herné detaily. Napríklad pre zvýšenie dojmu z hry chceme, aby sa ozývali náhodné zvuky. Doplníme ich do obsluhy minotaurov. V závislosti na náhode občas prehráme zvuk zachrochtání Minotaura.

3D grafika

Chceme, aby sa zvuky prehrával reálne, aby vychádzali od skutočných minotaurov, aby sa hráč mohol podľa zvukov orientovať - hlasitosť aby závisela od vzdialenosti a aby bol správne rozlíšený aj smer zvuku. Rýchlosť prehrávania zvolíme mierne náhodnú, aby všetky zvuky nezneli rovnako. A zvýšiť rýchlosť pohybu minotaurov z 0.1 na 0.4, inak je hra nudná.

3D grafika

Na záver zapneme celoobrazovkový režim. Nastavením vzhľadu kurzora myši na predmet vyplnený priehľadnou farbou vypneme zobrazenie kurzora, vceloobrazovkovém režimu by nám prekážal.

Môžete doplniť ešte zvuk krokov. Prehrávanie krokov pridajte do obsluhy pohybu vpred. Je-listisknuta klávesa vpred, prehrávajte opakované zvuky krokov. Nezabudnite vypnúť príznak pre prerušenie hrajúceho zvuku. Pred prehriatím zvuku vyberte rozlišovaciu kód 0 (z iných zvukov môže byť kód nastavený náhodne). Ak nie liklávesa stlačená, vypnite zvuk, opäť s voľbou rozlišovacieho kódu. Podobne obslúžte kroky pri chôdzi vzad. Môžete použiť rovnaký zvuk, ale zvoľte iný rozlišovaciu kód a nastavte polovičnú rýchlosť prehrávania krokov.

A môžeme hru dôkladne vyskúšať. Théseus by vám závidel. Ak bude sa vám hra zdať nudná a napádajú Ak vás tisíce myšlienok ako všetko urobiť lepšie, tak to je ten najlepší okamih sadnúť a pustiť sa do práce. V tom prípade tutoriál splnil svoju úlohu.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 421x (1.25 MB)
Aplikácia je vrátane zdrojových kódov v jazyku Petr Lite (sú obsiahnuté v EXE súbore, ktorý možno v programe priamo otvoriť)

 

Všetky články v sekcii
3D grafika
Článok pre vás napísal Panda38
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Programátor C++, WinAPI, ASM.
Aktivity