Diskuze: Instance Objektu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 16 zpráv z 16.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Na jakou adresu to chceš poslat?
Pošli přímo sem odkaz, ať se na to můžeme podívat všichni.
http://uloz.to/…ventures-rar
Dobrá, tady je celý projekt v raru.
Omlouvám se za kvalitu kódu, ale dělám to pro zlepšení znalostí v OOP a jeho zažití. Projekt je trochu rozdělaný...
Chybí ti tam instance Bojovníka hrac
// Edit: i nepřítele
Intance hráče se vytvoří v prvním formu
private void btnChoose_Click(object sender, EventArgs e)
{
if (rdbRytir.Checked == true)
hrac = new Bojovnik("James", 1, 500, 20, 5, 20, 10, 10, 10, 10, new Kostka());
if (rdbLovec.Checked == true)
hrac = new Bojovnik("James", 1, 300, 25, 2, 10, 20, 10, 10, 10, new Kostka());
frmGame game = new frmGame();
game.hrac = hrac;
game.ShowDialog();
}
A pak se předá do hry.
Vůbec neinicializuješ žádný objekt
Nejen v téhle frmArena ale
třeba i frmGame. Nemůžeš pracovat s nevytvořeným objektem.
EDIT:
Tak tohle je dost hnusný kód. Kdo se v tom má vyznat? A kde nastavuješ
nepřítele a textbox?
Promiň už vidím, kde je chyba jsem si spletl instanci.
textBox v konstruktoru formuláře neexistuje, musíš ho zavolat z load.
Přečti si zdejší tutorialy o OOP a pak teprve přejdi k formulářům.
Objekt musíš nejprve inicializovat, místo 'Bojovnik hrac;' třeba
public Bojovnik hrac = new Bojovnik("jmeno", 1, 100, 10, 1, 10, 10, 10, 10, 10, new Kostka(6));
ve frmArena předáváš prázdný objekt
Takhle to vážně nedělej. Nikdo se v tom nevyzná a je to proti zásadám OOP.
Koukám že to tu mám trochu nepřehledné a špatně. Takže bude lepší to předělat a udělám to radši skrze konzoli.
ne, nedělej nic. Přečti si tutoriály pak teprv něco programuj.
K formům se vrať až poté, co si projdeš události, delegáty, dědičnost, vlastnosti a polymorfismus. Také si zkus nejdříve udělat správný návrh. A používej konstruktory. Správně by jsi měl co nejméně zasahovat z objektu do objektu, zvlástě pokud nemají žádnou vazbu. Veřejné proměnné jsou tedy špatné řešení.
Zobrazeno 16 zpráv z 16.