POSLEDNÍ ŠANCE: Halloweenská akce brzy končí. Získej 66 % extra kreditů zdarma při nákupu od 1199 kreditů s promo kódem NEBOJSEIT66. Zjisti více:
NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:

Diskuze – Lekce 7 - Bojovník do arény

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
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Petr M
Člen
Avatar
Petr M:7.1.2022 14:25

Chyba v metode BranSe() pri zapisu do privatni promenne tridy Zprava, nasledne je provedeno ulozeni proměnné sama do sebe pomocí metody NastavZpravu().

Avatar
Vaclav Pieter:10.5.2022 9:14

Ahoj, prosím mohl bych poprosit o vysvětleni private atributu? Myslel jsem si, že do nich vidí a může snimi pracovat pouze instance, ale když jsem si upravil výpis bojovnika aby při útoku vypsal i jmeno soupere tak to chodí bez problému.

SetMessage(Strin­g.Format("{0} útočí na {1} s úderem za {2} hp", jmeno, souper.jmeno, uder));

připadá mi to jako když v javě udělam staticky atribut?

Děkuji

Avatar
Martin McDermot Kuchta:26.7.2022 21:26

Super článek, jen u instance kostky metoda "hoď" má být s velkým "H" protože je to metoda :) a je i s velkým v předchozích cvičeních. :)

Odpovědět
Everything is possible
Avatar
Miroslav Holka:16.8.2022 11:32

Zdravíčko, Můžu poprosit o pomoc u našeho bojovníka mi to nechce brát atribut kostka a nemůžu vůbec přijít na to kde mám chybu.
V hlavním programu mám bojovníka zapsaného takto:
Bojovnik bojovnik = new Bojovnik("Zal­goren", 100, 20, 10, kostka);
a ve třídě to mám zapsáno takto:
private Kostka kostka;
public Bojovnik(string jmeno, int zivot, int utok, int obrana, Kostka kostka)
A nechce mi to spustit ani program.

Avatar
Jarda
Člen
Avatar
Jarda:19.5.2023 22:20

Ahoj, je nejaky rozdil z hlediska potreby pameti mezi zapisem

int celkem = 20;
        double pocet = Math.Round(((double)zivot / maxZivot) * celkem);
        if ((pocet == 0) && (Nazivu()))
                pocet = 1;
        for (int i = 0; i < (celkem - pocet); i++)
                s += "#";
        s = s.PadLeft(celkem + 1);
double pocet = Math.Round(((double)zivot / maxZivot) * 20);
if ((pocet == 0) && (Nazivu()))
        pocet = 1;
for (int i = 0; i < (celkem - pocet); i++)
        s += "#";
s = s.PadLeft(celkem + 1);

Neni mi jasny jestli je rozdil- definujete nemennou promenou kterou lze na primo zadat

Avatar
Petr Kopecký:1.7.2023 20:38

Proč u metody Utoc je do atributu zprava zapisovana pres metodu NastavZpravu, ale u metody BranSe je text vlozeny primo do atributu zprava?

public void Utoc(Bojovnik souper)
{
    int uder = utok + kostka.hod();
    NastavZpravu(String.Format("{0} útočí s úderem za {1} hp", jmeno, uder));
    souper.BranSe(uder);
}
public void BranSe(int uder)
{
    int zraneni = uder - (obrana + kostka.hod());
    if (zraneni > 0)
    {
        zivot -= zraneni;
        zprava = String.Format("{0} utrpěl poškození {1} hp", jmeno, zraneni);
        if (zivot <= 0)
        {
            zivot = 0;
            zprava += " a zemřel";
        }

    } else
        zprava = String.Format("{0} odrazil útok", jmeno);
    NastavZpravu(zprava);
}
Avatar
Jana Poskerová:13.9.2023 13:50

zavolání kostka.hod() by mělo být správně kostka.Hod() ?? VS jinak hlásí chybu

Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Jana Poskerová
David Novák:28.9.2023 7:29

Ahoj Jano, děkujeme za podnět. Lekci jsem předal k aktualizaci.

Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Petr Kopecký
David Novák:28.9.2023 7:30

Ahoj Petře, děkujeme za podnět. Lekci jsem předal k aktualizaci.

Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Miroslav Holka
David Novák:28.9.2023 7:31

Porovnej prosím svoje řešení s přiloženým archivem

Nejnovější komentáře jsou na konci poslední stránky.
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 78.