• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

Objektove programovanie

Started by markus, 21.02.2009, 23:57:40

« predchdzajce - alie »

morrfun23

ja uz mam batoh asi tyzden spraveny a som myslel ze uz tam bude dalsie cvicenie na moodli

domino3d

#401
hehe super, uz je nove cviko
len dajake je chudobne :)

a inak
kažná s tried musí obsahovať metódu Execute ktorej parametrom je IGame a návratovou hodnotou je GameState
ma byt
kažná z tried... IMO
vivat academicus

Agamemnon

All code is crap.

42

morrfun23

inak ked volam tu metodu execute co mam dat ako vstupny parameter tejto metody?

stamperlik

Quote from: morrfun23 on  21.04.2009, 02:18:52
inak ked volam tu metodu execute co mam dat ako vstupny parameter tejto metody?

ked das implementovat rozhranie ICommand tak ti tam vytvori metodu execute s parametrom instanciou hry
public TextGame.Core.GameState Execute(TextGame.Core.IGame game)

inak ako zadam parameter pre prikaz (napr. pouzi kamen)
v konstruktore asi nie - ked som sa pytal tak vraj sa vytvori len jeden objekt prikazu a ten sa bude pouzivat celu hru
a ked ho pridam ako parameter pre funkciu execute tak vypise chybu, nesuhlasi s execute co je v rozhrani
:ropebanana:
:ropebanana:

mirek

Quote from: stamperlik on  22.04.2009, 03:57:52
inak ako zadam parameter pre prikaz (napr. pouzi kamen)
v konstruktore asi nie - ked som sa pytal tak vraj sa vytvori len jeden objekt prikazu a ten sa bude pouzivat celu hru
a ked ho pridam ako parameter pre funkciu execute tak vypise chybu, nesuhlasi s execute co je v rozhrani
:ropebanana:

kazdy prikaz ma clensku premennu parameters, ktorou je mozne specifikovat parameter prikazu. tato premenna je pristupna pomocou property Params, pomocou ktoreho je ju mozne aj nastavit aj precitat.

pre metodu Execute() sa zadava hodnota ineho typu ako string, takze samozrejme, ze ti prekladac o tom povedal svoje. radsej ho takto nedrazdi...
So say we all!

morrfun23

ale ja som skor chcel vediet uz ked budem metodu Execute(IGame game) napr. v triede Game co zadam za ten parameter game

mirek

Quote from: morrfun23 on  22.04.2009, 05:39:51
ale ja som skor chcel vediet uz ked budem metodu Execute(IGame game) napr. v triede Game co zadam za ten parameter game

no vsak to by malo byt viacmenej jasne - instanciu triedy, ktora implementuje rozhranie IGame. o objekt ktorej triedy sa jedna?
So say we all!

morrfun23

no podla mna by to malo byt objekt triedy Game. ale aj tak som z toho jelen

mirek

Quote from: morrfun23 on  22.04.2009, 06:40:58
no podla mna by to malo byt objekt triedy Game. ale aj tak som z toho jelen

ano - pravdu mas. super. ryza je akurat, ze sa nachadzame v triede Game a potrebujeme volat metodu, ktorej parametrom ma byt prave referencia na prave TUTO triedu. co obsahuje referenciu na prave TUTO triedu? ako z vnutra instancie triedy Game ziskam instanciu na seba samu?
So say we all!

Ing. nemtom

brix will be shat

morrfun23

ved keby som to vedel tak sa tu nepytam Tak mi to konecne prezradte nech sa dalej pohnem so zadanim

Aniy



mirek

So say we all!

mirek

Quote from: morrfun23 on  22.04.2009, 14:26:15
ved keby som to vedel tak sa tu nepytam Tak mi to konecne prezradte nech sa dalej pohnem so zadanim

no - sak len sa zamyslime - ake klucove slovo pouzivame, ak sa chceme odkazat na referenciu na TENTO objekt? na TUTO instanciu?
So say we all!

morrfun23

ze by to klucove slovicko bolo new?

Ing. nemtom

nehovori NOVU, ale TUTO, TENTO, TOTO
brix will be shat

morrfun23

aha teda pouzijem slovicko this ale co dam za tym?

Agamemnon

nic... vsak nechces nic invoknut, len chces predat instanciu... instancia je ulozena prave v tom this
All code is crap.

42

morrfun23

diky za pomoc lebo sam by som asi na to neprisiel ze je to take jednoduche

Aniy

niekedy tie "jednoduché" veci sú najťažšie ^^


morrfun23


mircoo

#422
caute, mam metodu execute takto:
public GameState Execute(IGame game)
{
if (game.CurrentRoom.East!=null){
game.CurrentRoom=game.CurrentRoom.East;

game.CurrentRoom.Show();


    } else Console.WriteLine("Na vychod sa ist neda...");
return GameState.PLAYING;
}

ja som skusal spustit v program.cs tu metodu Execute:

Game newGame = new Game();
East east = new East();
.....
...
east.Execute(newGame);
...


co je tam zle? a co ma vlastne vracat Execute? GameState.PLAYING?

vopred vdaka za pomoc  ;)
Praise Him with the strings....

mirek

Quote from: morrfun23 on  22.04.2009, 17:13:31
aha teda pouzijem slovicko this ale co dam za tym?

no co by si daval - ked si v triede Game a this je referencia na aktualnu instanciu triedy Game, akeho typu bude objekt, na ktory this ukazuje? zodpovedzme si otazky na nasledujuci kviz:

this is IGame
this is Game
this is AItem
this is Item
this is String

takze pravdepodobne za tym this uz bude iba uzatvarajuca zatvorka... a ja utekam na cviko...
So say we all!

Agamemnon

nvm, čo je na tom zle... vyzerá to na prvý pohľad dobre, ale hru som s touto knižnicou nekódil, takže bližšie ti povedať nvm...
a áno, má to vrátiť stav hry po vykonaní príkazu - tj. napr. playing, ak sa hra neukončila - takže playing, lebo po prejdení do východnej miestnosti vieš pokračovať ďalej v hraní...
All code is crap.

42