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

OP - zadanie

Started by Shwollo, 07.01.2011, 04:44:47

« predchdzajce - alie »

Shwollo

Vzhladom k tomu ze niekto vymazal temu s op tak zakladam novu.

Rata sa ako vlastne rozsirenie taka vec ze napr. Pokial nepouzijem kluc tak sa mi neukaze dalsi vychod z miestnosti...?
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

tino8



karamel je cukr co se uz neuzdravi!

tino8

class diagram tvojho projektu... podrobnejsie sa to neda napisat


karamel je cukr co se uz neuzdravi!

smelyzajo

tino8 mam otazku akym stylom si to robil v GameImpl si nastavil vychody napr. setExits(null,null,null,null)
potom v triede napr.kluc v metode use si to poriesil cez if a v setExits v tej use metode si to nastavil uz aj z vychodmi )?????

Brand

Ak to chces urobit takto, ze znovu zavolas na objekte miestnosti setExists, tak potrebujes vediet ziskat minimalne referencie tychto miestnosti z objektu hry, pretoze volanie setExits ma zmysel iba tam, kde "poznas" miestnosti.

Riesenim by mohlo byt deklarovanie miestnosti na urovni GameImpl ako clenskych premennych, ale to by nevyzeralo dobre a istotne by PMD protestovalo a takisto cviciaci :D (ak by si tam deklaroval vsetky miestnosti...).

Celkom jednoduche by bolo vytvorit kolekciu vsetkych miestnosti ako clensku premennu triedy GameImpl. ArrayList<Room>, v hre je pouzitych niekolko ArrayListov, takze by si s tym nemal mat problem. V metode createRooms jednoducho kazdu miestnost vlozis do tohto zoznamu, na zoznam spravis nejaky getter a tym padom mas pristup ku referenciam vsetkych miestnosti z hocikadial z kodu, ktory ma pristup ku referencii hry. Resp. priamo nejaka metoda public Room getRoomByName(String name) {}, ktora by vratila uz konkretnu miestnost na zaklade mena. Takto dokazes ziskat kazdu miestnost a tym padom dokazes pouzit volanie setExits aj mimo createRooms.

Safyia

hm... ja som to riesila tak, ze som si meistnost, ktoru mal predmet otvarat dala do parametra konstruktoru... Ak som potrebovala vediet, v ktorej meistnosti sa s predmetom nachadzam, tak som dala dva parametre.
Napr Key(Room room). Pri vytvarani noveho kluca tam potom das len nazov, kedze ten zoznam miestnosti mas tiez v GameImpl, kde vytvaras aj predmety. A potom len v metode use zavolas napr setExits(blabla.getNorth(), blabla.getSouth(), room, blabla.getWest()) . And it is! ;D

Brand


Shwollo

čo mám robiť s týmto?    
Pretypujte deklaráciu (namiesto typu 'ArrayList' použite rozhranie, ktoré tento typ implementuje).

mám tam toto:
private ArrayList<Item> backpackItems = new ArrayList<Item>();
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

revelc

private List<Item> backpackItems = new ArrayList<Item>();
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

Shwollo

Metóda obsahuje viac ako 99 príkazov. Skúste redukovať jej veľkosť vytvorením pomocných metód.

toto môže zostať?
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

revelc

moze ak mas tolko miestnosti  :)
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

ondrej0071

musi byt alebo moze byt na zaciatku to menu? :ohmygod:

freshmakerik

v tom spominanom vymazanom topicu bol aj navod na pmd, ak ho niekto ma, tak ho tu prosim hodte, diky  :-*
aj počítač je len človek..

Shwollo

v netbeanse - Files - adventure - buils.xml - pmd - klikneš pravým a dáš run
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

ondrej0071

PMD mi zahlasilo chybu: odstrante nepouzivanu lokalnu  premennu path  ...v prikaze SAVE v metode execute()

 public GameState execute(Game game) {
        String path;
        path = this.getParams();
        try {
            History.getInstance().save();
        } catch (IOException ex) {
            Logger.getLogger(History.class.getName()).log(Level.SEVERE, null, ex);
        }
        return GameState.PLAYING;
    }

ibaze tato premenna path je vyuzita,cize nechapem preco mi hadze chybu  :hammer:

ondrej0071

inak..dakujeme tomu kto zmazal tu predchadzajucu diskusiu OP..nemohol radsej FJAP  ;D

chaser

Quote from: ondrej0071 on  07.01.2011, 17:52:13
PMD mi zahlasilo chybu: odstrante nepouzivanu lokalnu  premennu path  ...v prikaze SAVE v metode execute()

 public GameState execute(Game game) {
       String path;
       path = this.getParams();
       try {
           History.getInstance().save();
       } catch (IOException ex) {
           Logger.getLogger(History.class.getName()).log(Level.SEVERE, null, ex);
       }
       return GameState.PLAYING;
   }

ibaze tato premenna path je vyuzita,cize nechapem preco mi hadze chybu  :hammer:

nevyuzivas ju nikde
iba si si ju zadefinoval a konec
ci daco nevidim ?

Shwollo

nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

Makaveli

bude velmi vadit ak nemam triedy GameImpl a RoomImpl a mam to vsetko v main???
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

Buici

mozte napisat ako vytvorim tie diagramy???

Agamemnon

Quote from: Makaveli on  07.01.2011, 22:25:31
bude velmi vadit ak nemam triedy GameImpl a RoomImpl a mam to vsetko v main???

áno, lebo to nie je objektové... etc... :)
All code is crap.

42

dEVIANT

Quote from: Shwollo on  07.01.2011, 20:20:18
mám to dobre?







Vyzerá to ok. Akurát pre Commandy by si mal mať abstraktnú triedu, ale zas v podmienkach to nieje, keď sa nemýlim.
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

ondrej0071

musi byt na zaciatku to uvodne menu???  ???

smelyzajo

ako to poriesit ked mi pmd hadze chybu typu:a method should have only one exit point,and that should  be the last statement in the method.treba to rozdelit potom na viac metod ak mam viac returnov ak dobre chapem tak metoda moze mat iba jeden return???

revelc

Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "