Author Topic: OOP  (Read 114525 times)

farkasdvd

  • Newbie
  • *
  • Posts: 15
    • View Profile
Re: OOP
« Reply #225 on: 08.11.2011, 05:24:52 »
Quote
Vytvorte 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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #226 on: 08.11.2011, 09:59:13 »
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

  • Sr. Member
  • ****
  • Posts: 317
    • View Profile
Re: OOP
« Reply #227 on: 08.11.2011, 15:38:32 »
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

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: OOP
« Reply #228 on: 08.11.2011, 18:10:36 »
Quote
Vytvorte 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:

Code: [Select]
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

  • Newbie
  • *
  • Posts: 15
    • View Profile
Re: OOP
« Reply #229 on: 08.11.2011, 18:48:28 »
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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #230 on: 10.11.2011, 12:36:46 »
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:

Code: [Select]
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

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #231 on: 13.11.2011, 23: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 ?
« Last Edit: 13.11.2011, 23:26:57 by xxx3 »

Eriik

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: OOP
« Reply #232 on: 14.11.2011, 01:48:40 »
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

  • Full Member
  • ***
  • Posts: 143
    • View Profile
Re: OOP
« Reply #233 on: 14.11.2011, 02:12:20 »
ako otvorim pmd vo win7?

Eriik

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: OOP
« Reply #234 on: 14.11.2011, 02:20:27 »
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

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #235 on: 14.11.2011, 04:24:42 »
Erik, ale ked nemam instanciu triedy GameImpl tak ako mozem pristupit k jej metodam ? napr. game.setCurrentRoom() ?

Eriik

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: OOP
« Reply #236 on: 14.11.2011, 04:33:34 »
Erik, ale ked nemam instanciu triedy GameImpl tak ako mozem pristupit k jej metodam ? napr. game.setCurrentRoom() ?
predsa cez parameter metody execute

paloSK

  • Hero Member
  • *****
  • Posts: 613
  • :D
    • View Profile
Re: OOP
« Reply #237 on: 14.11.2011, 04:37:41 »
Je zajtra bleskovka s Kapom alebo nie ?
« Last Edit: 14.11.2011, 04:40:38 by paloSK »
:D

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #238 on: 14.11.2011, 05:22:28 »
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

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: OOP
« Reply #239 on: 14.11.2011, 06:05:44 »
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

  • Hero Member
  • *****
  • Posts: 873
    • View Profile
Re: OOP
« Reply #240 on: 14.11.2011, 06:50:13 »
tak ale dufam ze si to naozaj ty  ;) ;) ;D

stephanides

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: OOP
« Reply #241 on: 14.11.2011, 07:23:52 »
Nepísal nikto mail či je to pravda? :D..

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #242 on: 14.11.2011, 10:48:33 »
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:
Code: [Select]
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

  • Sr. Member
  • ****
  • Posts: 346
    • View Profile
Re: OOP
« Reply #243 on: 14.11.2011, 14:14:30 »
čiže dneska cvičenie z OOP s Kapom nebude ?

Tren

  • Moderator
  • Hero Member
  • *****
  • Posts: 1060
  • Fortes fortuna adiuvat
    • View Profile
Re: OOP
« Reply #244 on: 14.11.2011, 14:28:56 »
N I E  :)

Eriik

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: OOP
« Reply #245 on: 14.11.2011, 19:28:00 »
už mi šibe alebo sa tá knižnica The indiana jones project a návody v moodli každú chvíľu menia ?

xxx3

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #246 on: 14.11.2011, 19:49:12 »
tiez sa mi zdalo vcera, ze to bolo nejake ine ako predtym ked som si prechadzal predchadzajuce cvika

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #247 on: 15.11.2011, 00:05:17 »
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

  • Jr. Member
  • **
  • Posts: 95
    • View Profile
Re: OOP
« Reply #248 on: 15.11.2011, 00:30:47 »
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

  • Hero Member
  • *****
  • Posts: 873
    • View Profile
Re: OOP
« Reply #249 on: 15.11.2011, 03:06:52 »
takze Quizova otazka ya jeden puntik xDD ->

ako spravit metodu addItem z 9 cvika ??
« Last Edit: 15.11.2011, 03:11:05 by esperian »