NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 10 - 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
Michal Dvorak
Neregistrovaný
Avatar
Odpovídá na Kit
Michal Dvorak:30.7.2013 14:11

Dokonale, rozumim, dekuji vam oboum

 
Odpovědět
30.7.2013 14:11
Avatar
Odpovídá na Jiří Košata - kosata50
Libor Šimo (libcosenior):9.9.2013 7:42

Pred časom som sem písal tento príspevok:

V časti "Konstruktor potomka" je poznámka:

"Pozn. stejně můžeme volat i jiný konstruktor v té samé třídě (ne předka), jen místo base použijeme this.

Nerozumiem ako to použiť. Poradí niekto?

Odpovedal mi na to kosata50, ale dnes si myslím, že odpoveď neriešila otázku dedičnosti a preto sem dávam svoj (dúfam správny) príklad:

predok:

class Bojovnik
{
        protected int string jmeno;
        protected int zivot;
        protected int maxZivot;
        protected int utok;
        protected int obrana;
        protected Kostka kostka;
}
// konštruktor s parametrami
public Bojovnik(string jmeno, int zivot, int utok, int obrana, Kostka kostka)
{
        this.jmeno = jmeno;
        this.zivot = zivot;
        this.maxZivot = zivot;
        this.utok = utok;
        this.obrana = obrana;
        this.kostka = kostka;
}
// konštruktor s parametrami
public Bojovnik(string jmeno, int zivot)
{
        this.jmeno = jmeno;
        this.zivot = zivot;
}
// konštruktor bez parametrov
public Bojovnik()
{
}

potomok:

// zdedené od Bojovnik
class Mag: Bojovnik
{
        private int mana;
        private int maxMana;
        private int magickyUtok;
}
// konštruktor s parametrami
public Mag(string jmeno, int zivot, int utok, int obrana, Kostka kostka, int mana, int magickyUtok): base(jmeno, zivot, utok, obrana, kostka)
{
        this.mana = mana;
        this.maxMana = mana;
        this.magickyUtok = magickyUtok;
}
// konštruktor s parametrami
public Mag(string jmeno, int zivot, int mana): this(jmeno, zivot)
{
        this.mana = mana;
}
// konštruktor bez parametrov
public Mag()
{
}

Ak som to ešte stále nepochopil správne, opravte ma.
Ďakujem. :-)

Odpovědět
9.9.2013 7:42
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
OBU
Tvůrce
Avatar
OBU:20.9.2013 15:15

díky moc !!! tenhle článek je fakt super ;)

 
Odpovědět
20.9.2013 15:15
Avatar
dez1nd
Člen
Avatar
dez1nd:13.11.2013 15:25

at koukam jak koukam na ten tvuj zdrojak tak me stejne vadi tento zdrojak

private void VypisBojovnika(Bojovnik b)
        {
            Console.WriteLine(b);
            Console.Write("Zivot: ");
            **Console.ForegroundColor = ConsoleColor.Red;
            Console.BackgroundColor = ConsoleColor.DarkRed;**
            Console.WriteLine(b.GrafickyZivot());
            if (b is Mag)
            {
                Console.Write("Mana : ");
                **Console.ForegroundColor = ConsoleColor.Blue;
                Console.BackgroundColor = ConsoleColor.DarkBlue;**
                Console.WriteLine(((Mag)b).GrafickaMana());
            }
        }

prikaz

Console.ForegroundColor a BackgroundColor

obarvi celou consoli ne ? a kdyz jechas bojovniky bojovat tak se to postupne meni :D :D jako na diskotece :D

 
Odpovědět
13.11.2013 15:25
Avatar
dez1nd
Člen
Avatar
dez1nd:13.11.2013 15:40

btw diky za skvele tutorialy

 
Odpovědět
13.11.2013 15:40
Avatar
Odpovídá na dez1nd
Zdeněk Pavlátka:13.11.2013 18:04
Console.ForegroundColor a Console.BackgroundColor

změní barvu toho, co se vypíše po jejich nastavení.

Odpovědět
13.11.2013 18:04
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
dez1nd
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
dez1nd:14.11.2013 8:22

no pokud si to dam do zdrojako tak mam jako prvni obarvene vse spravne ale po nekolika uderech bojovniku mi zmeni barvu cele console.. klidne muzu dat zdrojak ale je stejny jako ten co dal autor..

 
Odpovědět
14.11.2013 8:22
Avatar
Odpovídá na dez1nd
Zdeněk Pavlátka:14.11.2013 16:31

Tak to nechápu.

Odpovědět
14.11.2013 16:31
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
dez1nd
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
dez1nd:15.11.2013 8:29

nejsi sam:)

 
Odpovědět
15.11.2013 8:29
Avatar
Ghost4Man
Člen
Avatar
Odpovídá na dez1nd
Ghost4Man:15.11.2013 13:24

Když něco necháš vypsat na začátku, bude to mít výchozí (Světle šedou) barvu. Potom změníš barvu např. na zelenou a vypíšeš další text - ten bude zelený. A nyní, jelikož barva je stále nastavena na zelenou, bude další text také zelený...
To znamená, že když barvu změníš, všechny v budoucnu vypsaná písmena budou mít tuto barvu, dokud ji nezměníš...
Pokud chceš vypsat jen jeden řádek barevně, před vypsáním změníš barvu a po vypsání ji nastavíš zpět, buď příkazem Console.Reset­Color() nebo nastavením přes Console.Foregrou­ndColor nebo Console.Backgrou­ndColor.

Editováno 15.11.2013 13:25
Odpovědět
15.11.2013 13:24
Všechno na světě můžete chtít. Jenom nemůžete chtít, aby se vám chtělo.
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 10 zpráv z 138.