Olisi tarkoitus saada pelilaudalta valittu olio A hyökkäämään pelilaudalta valitun vihollisolion B kimppuun.
Hiiren eka kilikkaus valitsee toimivan olion A ja toinen klikkaus osuessaan ruutuun joka on A:n rangella ja sisältää vihollisyksikön
-> A hyökkää B:n kimppuun, tekee B:lle damagea ja jos B on elossa, B tekee vastahyökkäyksen.
Tähän asti homma on toiminut, mutta nyt tuli aivojen totaalinen meltdown.
Meinasin tehdä Attack -metodin jolla homma hoituu kutsumalla sitä jotenkin näin:
OlioA.Attack (target)
Mutta miten tuo target-parametri pitää määritellä että tsydeemi ymmärtää sen olioksi?
Vai pitääkö tuo toteuttaa jotenkin muuten?
Hiiren eka kilikkaus valitsee toimivan olion A ja toinen klikkaus osuessaan ruutuun joka on A:n rangella ja sisältää vihollisyksikön
-> A hyökkää B:n kimppuun, tekee B:lle damagea ja jos B on elossa, B tekee vastahyökkäyksen.
Tähän asti homma on toiminut, mutta nyt tuli aivojen totaalinen meltdown.
Meinasin tehdä Attack -metodin jolla homma hoituu kutsumalla sitä jotenkin näin:
OlioA.Attack (target)
Mutta miten tuo target-parametri pitää määritellä että tsydeemi ymmärtää sen olioksi?
Vai pitääkö tuo toteuttaa jotenkin muuten?
Vastaukset 5
Vanhimmat
C:llä ei noin onnistu kun se ei varsinaisesti ole oliokieli. C:llä teet tavallisen funktion esim. void OlioAttack(luokka* OlionNimi, int target);
Mutta kun ei ole C :lle omaa palstaa. Olisi pitänyt mainita, sori.
esim. void Luokka.attack(Luokka target);
Yritän jatka koodausta jahka töiltäni ehdin.
Jos oliot hierarkiassa niin luepa nuo selitykset ja C -koodikin löytyy:
http://en.wikipedia.org/wiki/Multiple_dispatch