Avatar
Mike Kopecký:

Dobrý den mohu se zeptat proč mi console napíše "Bojovník má 0hp a 0dmg" , nějak tomu nemůžu přijít na kloub děkuji :)

http://www.itnetwork.cz/dev-lighter/790

 
Odpovědět 9. října 15:16
Avatar
HONZ4
Člen
Avatar
Odpovídá na Mike Kopecký
HONZ4:

protože jsi hp ani dmg, vůbec nemodifikoval, takže je tam výchozí 0

 
Nahoru Odpovědět 9. října 15:22
Avatar
HONZ4
Člen
Avatar
Odpovídá na Mike Kopecký
HONZ4:

navíc ten kód je celý úplně špatně

 
Nahoru Odpovědět 9. října 15:26
Avatar
Mike Kopecký:

A kde mohu modfikovat? dopsal jsem toto:
public Bojovník(int hp0, int dmg0)
{
this.hp = hp0;
this.dmg = dmg0;
náhoda = new Random();
}

 
Nahoru Odpovědět 9. října 15:30
Avatar
Mike Kopecký:

Já sám nevím, jsem nový u objektů a tohle jsem napsal ze zkušeností ze 3. epizody a nevím si rady.

 
Nahoru Odpovědět 9. října 15:31
Avatar
HONZ4
Člen
Avatar
Odpovídá na Mike Kopecký
HONZ4:
class Program
{
    static void Main(string[] args)
    {
        Bojovník bojovník1 = new Bojovník();
        Console.WriteLine(bojovník1);

        Bojovník bojovník2 = new Bojovník(12,13);
        Console.WriteLine(bojovník2);

        Console.ReadKey();
    }
}


class Bojovník
{
    private Random náhoda;
    public int hp;
    public int dmg;

    public int VraťPočetHP()
    {
        return hp;
    }

    public Bojovník()//třeba takto:
    {
        náhoda = new Random();
        dmg = náhoda0();
        hp = náhoda0();
    }

    public Bojovník(int hp0, int dmg0)//nebo takto:
    {
        náhoda = new Random();
        dmg = dmg0;
        hp = hp0;
    }

    public int náhoda0()
    {
        return náhoda.Next(10, 20);
    }

    public override string ToString()
    {
        return String.Format("Bojovník má {0} hp a {1} dmg", hp, dmg);
    }

}
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 9. října 15:36
Avatar
Mike Kopecký:
:-)
Editováno 9. října 15:47
 
Nahoru Odpovědět 9. října 15:46
Avatar
Odpovídá na HONZ4
Mike Kopecký:

Děkuju moc! Vůbec nevím proč jsem do toho cpal Conver.ToInt32()
Příště si dám pozor :)

 
Nahoru Odpovědět 9. října 15:47
Avatar
HONZ4
Člen
Avatar
Odpovídá na Mike Kopecký
HONZ4:

no to bylo špatně, protože si tím chtěl konvertovat Random třídu na int

 
Nahoru Odpovědět 9. října 15:49
Avatar
Odpovídá na HONZ4
Luboš Běhounek (Satik):

Random by jsi neměl pokaždý vytvářet znova, jinak ti může házet často stejný výsledky.

Nahoru Odpovědět 9. října 16:27
:)
Avatar
HONZ4
Člen
Avatar
Odpovídá na Luboš Běhounek (Satik)
HONZ4:

to je pravda, na to jsem zapomněl.

class Bojovník
{
    private static Random náhoda;
    public int hp;
    public int dmg;

    public Bojovník()
    {
        if(náhoda==null) náhoda = new Random();
        dmg = náhoda0();
        hp = náhoda0();
    }

    public int náhoda0()
    {
        return náhoda.Next(10, 20);
    }

    public override string ToString()
    {
        return String.Format("Bojovník má {0} hp a {1} dmg", hp, dmg);
    }
}

takže teď už to je v pořádku?

Editováno 9. října 16:49
 
Nahoru Odpovědět 9. října 16:48
Avatar
Odpovídá na HONZ4
Luboš Běhounek (Satik):

Diakritiku bych do názvů proměnných radši netahal a v konstruktoru testovat, jestli je náhoda null je zbytečnost... :)

Nahoru Odpovědět 9. října 16:49
:)
Avatar
Mike Kopecký:

Proč nemám dávat do názvu diaktriku?

 
Nahoru Odpovědět 9. října 16:50
Avatar
Marian Benčat
Redaktor
Avatar
Odpovídá na Mike Kopecký
Marian Benčat:

podporované to temer je,. ale je to strasna prasarna.. je to jako propichovat cizim lidem kondomy..

 
Nahoru Odpovědět  +1 9. října 16:52
Avatar
HONZ4
Člen
Avatar
HONZ4:

já taky diakritiku normálně nepoužívám (jsem už tak zvyklý z C), teď jsem ji tam dal, protože jsem kopíroval jeho kód.

konstruktoru testovat, jestli je náhoda null..
Ani když jde o statickou? - to by přece nemělo pak žádný význam.

Editováno 9. října 16:56
 
Nahoru Odpovědět 9. října 16:54
Avatar
HONZ4
Člen
Avatar
HONZ4:

i když je pravda, že jsem mohl použít rovnou:

   class Bojovník
   {
       private static Random náhoda = new Random();
...
 
Nahoru Odpovědět 9. října 16:58
Avatar
HONZ4
Člen
Avatar
Odpovídá na Mike Kopecký
HONZ4:

vypadá to fakt strašně ;) Krom toho i nerad do kódu zapojuji češtinu, protože kombinace jazyků vypadá taky divně.

 
Nahoru Odpovědět 9. října 17:02
Avatar
Odpovídá na HONZ4
Luboš Běhounek (Satik):

Tak a nebo případně můžeš použít i statický kontruktor :)

Nahoru Odpovědět 9. října 19:53
:)
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 18 zpráv z 18.