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

OOP

Started by NDK, 22.09.2011, 21:02:52

« predchdzajce - alie »

farkasdvd

QuoteVytvorte príkaz PRIKAZY, ktorý zobrazí zoznam všetkých použiteľných príkazov, ktoré hra pozná. Okrem názvu príkazu príkaz vypíše aj jeho opis. Na jeho implementáciu využite členskú premennú v rozpoznávači príkazov, v ktorej sa nachádza zoznam všetkých rozpoznateľných príkazov.

Jak by som mohol dostat z prikazy.execute(Game game, String string) k tomutu listu, ktory sa nachadza v triede ParserImpl() a obsahuje vsetky prikazy, aby som nemusel vypisovat vsetky prikazy tak zvlast:

Quote
public class Prikazy extends AbstractCommand{

public Prikazy(){
...
}

public void execute(Game game, String string) {
        game.getUI().println("VERZIA --- Prikaz na vypis verzie.");
        game.getUI().println("KONIEC --- Prikaz na ukoncenie hry.");
}
}
Skusal som nieco take, ale to nefugovalo, mal problem s tym getParserom, hoci som to mal nakodovane v GameImpl() a samozrejme aj tem getList() v triede ParserImpl():
Quote
for (int i=0; i<game.getParser().getList().size(); i++){
game.getUI().println(game.getParser().getList().get(i).getName() + "---" + game.getParser().getList().get(i).getName());
}

mirek

Quote from: farkasdvd on  08.11.2011, 06:24:52
Jak by som mohol dostat z prikazy.execute(Game game, String string) k tomutu listu, ktory sa nachadza v triede ParserImpl() a obsahuje vsetky prikazy, aby som nemusel vypisovat vsetky prikazy tak zvlast:

a co keby si ten prikaz PRIKAZY vytvaral v triede Parser takto:

new Prikazy(listOfCommands)

hmm?
So say we all!

Brand

Quote from: mirek on  08.11.2011, 10:59:13
Quote from: farkasdvd on  08.11.2011, 06:24:52
Jak by som mohol dostat z prikazy.execute(Game game, String string) k tomutu listu, ktory sa nachadza v triede ParserImpl() a obsahuje vsetky prikazy, aby som nemusel vypisovat vsetky prikazy tak zvlast:

a co keby si ten prikaz PRIKAZY vytvaral v triede Parser takto:

new Prikazy(listOfCommands)

hmm?

Niekomu to evidentne nedalo spat :D

Eriik

Quote from: farkasdvd on  08.11.2011, 06:24:52
QuoteVytvorte príkaz PRIKAZY, ktorý zobrazí zoznam všetkých použiteľných príkazov, ktoré hra pozná. Okrem názvu príkazu príkaz vypíše aj jeho opis. Na jeho implementáciu využite členskú premennú v rozpoznávači príkazov, v ktorej sa nachádza zoznam všetkých rozpoznateľných príkazov.


ja som len v triede parserImpl spravil metodu String getAllCommands ktora vrati string zo vsetkymi prikazmi a v triede Prikazy túto metódu použijem ..
takže metoda execute v triede prikazy vyzera u mna takto:

public void execute(Game game, String string) {

ParserImpl parser = new ParserImpl();
game.getUI().println("Zoznam vsetkych prikazov: ");
game.getUI().print(parser.getAllCommands());

}


neviem ci to je správne, ale funguje to ..

farkasdvd

Quote from: mirek on  08.11.2011, 10:59:13
Quote from: farkasdvd on  08.11.2011, 06:24:52
Jak by som mohol dostat z prikazy.execute(Game game, String string) k tomutu listu, ktory sa nachadza v triede ParserImpl() a obsahuje vsetky prikazy, aby som nemusel vypisovat vsetky prikazy tak zvlast:

a co keby si ten prikaz PRIKAZY vytvaral v triede Parser takto:

new Prikazy(listOfCommands)

hmm?

Vdaka, to mi ani nenapadlo, trosku som to skomplikoval :)
Funguje perfektne.

mirek

Quote from: Eriik on  08.11.2011, 19:10:36
ja som len v triede parserImpl spravil metodu String getAllCommands ktora vrati string zo vsetkymi prikazmi a v triede Prikazy túto metódu použijem ..
takže metoda execute v triede prikazy vyzera u mna takto:

public void execute(Game game, String string) {

ParserImpl parser = new ParserImpl();
game.getUI().println("Zoznam vsetkych prikazov: ");
game.getUI().print(parser.getAllCommands());

}


neviem ci to je správne, ale funguje to ..
nerob to takto. je zbytocne, aby si len kvoli tomu, ze chces ziskat zoznam vsetkych prikazov, musel niekde nanovo vytvarat celu instanciu triedy Parser. to je ako keby si bol stavbar a mal by si vo vytahu dat tolko tlacidiel, kolko je poschodi v celom dome. budes kvoli takejto banalite stavat na tu chvilu cely dom znova? nestaci len niekomu zavolat, kto odpoved na tuto otazku pozna? ;)
So say we all!

xxx3

#231
nedali by ste sem prosim niekto ako mate spraveny jeden z prikazov pre pohyb (alebo PM) ? Napr. East ? ... nejako mi to nejde. Dakujem

alebo aspon poradte ako to spravit. Vytvoril som si tam objekt GameImpl a asi bude treba nastavit cez setCurrentRoom tu aktulanu miestnost ... ale co mam dat do zatvorky tej funkcie setCurrentRoom ? Ako sa dostanem k tym vytvorenym v GameImpl v metode createrooms ?

Eriik

Quote from: mirek on  10.11.2011, 13:36:46
nerob to takto. je zbytocne, aby si len kvoli tomu, ze chces ziskat zoznam vsetkych prikazov, musel niekde nanovo vytvarat celu instanciu triedy Parser. to je ako keby si bol stavbar a mal by si vo vytahu dat tolko tlacidiel, kolko je poschodi v celom dome. budes kvoli takejto banalite stavat na tu chvilu cely dom znova? nestaci len niekomu zavolat, kto odpoved na tuto otazku pozna? ;)
no, myslel som si že to nebude najsprávnejšie :) spravil som to tak ako si písal pár postov predtým .. diky moc

bEnd3r

ako otvorim pmd vo win7?

Eriik

Quote from: xxx3 on  14.11.2011, 00:20:57
nedali by ste sem prosim niekto ako mate spraveny jeden z prikazov pre pohyb (alebo PM) ? Napr. East ? ... nejako mi to nejde. Dakujem

alebo aspon poradte ako to spravit. Vytvoril som si tam objekt GameImpl a asi bude treba nastavit cez setCurrentRoom tu aktulanu miestnost ... ale co mam dat do zatvorky tej funkcie setCurrentRoom ? Ako sa dostanem k tym vytvorenym v GameImpl v metode createrooms ?

nepotrebuješ tam objekt GameImpl, len si do premennej typu Room daj aktuálnu miestnosť (game.getCurrentRoom() ) a ak sa dá ísť napr na východ tak metódou setCurrentRoom nastavíš aktuálnu miestnosť na miestnosť ktorá sa nachádza na východ od tej, ktorú máš v premennej typu Room (getEast() ) a zobrazíš ju (show() ) .

xxx3

Erik, ale ked nemam instanciu triedy GameImpl tak ako mozem pristupit k jej metodam ? napr. game.setCurrentRoom() ?

Eriik

Quote from: xxx3 on  14.11.2011, 05:24:42
Erik, ale ked nemam instanciu triedy GameImpl tak ako mozem pristupit k jej metodam ? napr. game.setCurrentRoom() ?
predsa cez parameter metody execute

paloSK

#237
Je zajtra bleskovka s Kapom alebo nie ?
:D

matus217

Quote from: paloSK on  14.11.2011, 05:37:41
Je zajtra bleskovka s Kapom alebo nie ?
Tazko povedat ci bude lebo nic nespomenul, ale mali by sme ju mat, cize pravdepodobne ano. Mozno ze nam neda nic pisat, len nam da spravit dalsie cviko a to oboduje, alebo pozrie co mame doteraz. Uvidime zajtra...

MartinK

Kedze asi vacsina mojich studentov tu chodi castejsie ako na moodle!

********************************************************************************************
Tak by som chcel touto cestou  oznamit, ze sa zajtra z dovodu mojej choroby nebudem moct na cviceniach zucastnit!
Cvicenia kvoli tomu musia odpadnu!

Prepacte, ze to pisem az teraz, ale nemal som pristup k internetu!

MartinK

esperian

tak ale dufam ze si to naozaj ty  ;) ;) ;D

stephanides

Nepísal nikto mail či je to pravda? :D..

mirek

Quote from: xxx3 on  14.11.2011, 00:20:57
nedali by ste sem prosim niekto ako mate spraveny jeden z prikazov pre pohyb (alebo PM) ? Napr. East ? ... nejako mi to nejde. Dakujem

co je na tom tazke? mohol by vyzerat napr. zhruba takto:

ak mozes do miestnosti vojst, tak{
   vojdi do nej;
   zobraz obsah miestnosti;
}inac
   vypis, ze sa do nej dostat neda
So say we all!

Rajo

čiže dneska cvičenie z OOP s Kapom nebude ?

Tren


Eriik

už mi šibe alebo sa tá knižnica The indiana jones project a návody v moodli každú chvíľu menia ?

xxx3

tiez sa mi zdalo vcera, ze to bolo nejake ine ako predtym ked som si prechadzal predchadzajuce cvika

mirek

Quote from: xxx3 on  14.11.2011, 20:49:12
tiez sa mi zdalo vcera, ze to bolo nejake ine ako predtym ked som si prechadzal predchadzajuce cvika
tusim spominali, ze toho roku sa cvika aktualizuju. takze evidentne nasi podareni cviciaci nestihaju...
So say we all!

zaky

Quote from: mirek on  15.11.2011, 01:05:17
tusim spominali, ze toho roku sa cvika aktualizuju. takze evidentne nasi podareni cviciaci nestihaju...
:evica: :evica:

92% teenagerů neposlouchá svojí maminku. Patříš-li mezi zbývajících 8%, dej si tohle do podpisu

esperian

#249
takze Quizova otazka ya jeden puntik xDD ->

ako spravit metodu addItem z 9 cvika ??