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í.

Diskuze – Lekce 8 - Aréna s mágem (dědičnost a polymorfismus)

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Rostislav Neidhardt
David Novák:28.9.2023 8:11

Ahoj Rostislave, děkujeme za podnět, který jsem předal k řešení.

 
Odpovědět
28.9.2023 8:11
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Jaroslav Drobek
David Novák:28.9.2023 8:12

Ahoj Jaroslave, děkujeme za podnět, který jsem předal k řešení.

 
Odpovědět
28.9.2023 8:12
Avatar
Odpovídá na David Kočí
Radek Janulek:19.10.2023 19:57

Davide,

Console.WriteLine(((Mag)b).GrafickaMana());

je správně, protože prvně proběhne přetypování ((Mag)b) a teprve posléze můžeš použít metodu b.GrafickaMana(); + to celé obaleno do výpisu Console.Write­Line();

Editováno 19.10.2023 19:59
Odpovědět
19.10.2023 19:57
Ti, kdo si nepamatují minulost, jsou odsouzeni jí opakovat.
Avatar
David Kočí
Člen
Avatar
Odpovídá na Radek Janulek
David Kočí:19.10.2023 20:46

Díky moc za odpověď.

 
Odpovědět
19.10.2023 20:46
Avatar
Dušan Kovářík:9.11.2023 23:47

Jedna drobnost: Grafická mana se nezobrazuje jako prázdná, i když prázdná je. Je to kvůli podmínce v metodě GrafickyUkazatel:

if (pocet == 0 && Nazivu())

Jestliže jsme tuto metodu abstrahovali od života bojovníka a udělali ji univerzální, aby mohla zobrazovat i cokoli jiného - v našem případě manu - neměla by dle mého názoru už mít nic společného s testováním života. Proto jsem podmínku změnil takto:

if (pocet == 0 && aktualni > 0)

Teď mi vše funguje, jak má - u života se zobrazí vždy aspoň jeden dílek (pokud bojovnik není mrtvý) a u many žádné dílky, pokud je prázdná.

Editováno 9.11.2023 23:50
 
Odpovědět
9.11.2023 23:47
Avatar
Ivo Hury
Člen
Avatar
Ivo Hury:1. května 19:38

Přemýšlím, jestli toto je reálné navržení hry nebo je tento guláš jen kvůli příkladům dědičnosti a polymorfismusu. Ještě před pár lekcemi se čtenář dozví, jak je OOP přehledné a ideální, protože neexistují komplikovaně větvené struktury a pak najednou: Kousek třídy si duplikujeme, kousek si přetvoříme, nějakou metodu si vycucneme odjinud, jinou si raději založíme jinde... tohle bych chtěl jednou po někom opravovat v rozsáhlejším projektu. Není prostě lepší napsat trochu objemnější kód, vše si v klidu definovat jinak, třeba zdrojáky nějakých objektů (herních tříd mág, bojovník), zdrojáky procesů a stavů (boj, obrana, vliv prostředí atd.) a volat si do nějakých smysluplných tříd?

 
Odpovědět
1. května 19:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 136.