Diskuze: Náhoda vypisuje jen "0",
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 18 zpráv z 18.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
protože jsi hp ani dmg, vůbec nemodifikoval, takže je tam výchozí 0
A kde mohu modfikovat? dopsal jsem toto:
public Bojovník(int hp0, int dmg0)
{
this.hp = hp0;
this.dmg = dmg0;
náhoda = new Random();
}
Já sám nevím, jsem nový u objektů a tohle jsem napsal ze zkušeností ze 3. epizody a nevím si rady.
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);
}
}
Děkuju moc! Vůbec nevím proč jsem do toho cpal Conver.ToInt32()
Příště si dám pozor
no to bylo špatně, protože si tím chtěl konvertovat Random třídu na int
Random by jsi neměl pokaždý vytvářet znova, jinak ti může házet často stejný výsledky.
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?
Diakritiku bych do názvů proměnných radši netahal a v konstruktoru testovat, jestli je náhoda null je zbytečnost...
Proč nemám dávat do názvu diaktriku?
podporované to temer je,. ale je to strasna prasarna.. je to jako propichovat cizim lidem kondomy..
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.
vypadá to fakt strašně Krom toho i nerad do kódu zapojuji češtinu, protože kombinace jazyků vypadá taky divně.
Tak a nebo případně můžeš použít i statický kontruktor
Zobrazeno 18 zpráv z 18.