• 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 »

xxx3

vsak mas funkcie removeItem a addItem .. asi pomocou nich, nie ?

darkoooooo

Quote from: Cukor on  30.01.2012, 14:15:47
Quote from: xxx3 on  26.01.2012, 16:12:50
vytvoris si miestnost
spravis predmety hlaven a parba s tym, ze su pouzitelne, cize robis metodu use, v ktorej ak sa v miestnosti/alebo v batohu nachadza hlaven aj parba tak sa akoze zlozi puska ... a to tak, ze z miestnosti/alebo batohu odstranis parbu aj hlaven a vlozis tam predmet puska .. ak nemas obe potrebne veci, cize hlaven a parbu tak sa vypise len nejaka hlaska, ze nemas potrebne zlozky.
no skusal som to ale nevelmi mi to ide nevies jak dosiahnem ze ked spojim tie dva predmety aby mi naskocil treti ale zaroven tie 2 zmizli
?
addItem a removeItem ... ved to je najlahsie co moze byt .... su aj horsie veci  bu

Cukor

Quote from: darkoooooo on  30.01.2012, 16:34:59
Quote from: Cukor on  30.01.2012, 14:15:47
Quote from: xxx3 on  26.01.2012, 16:12:50
vytvoris si miestnost
spravis predmety hlaven a parba s tym, ze su pouzitelne, cize robis metodu use, v ktorej ak sa v miestnosti/alebo v batohu nachadza hlaven aj parba tak sa akoze zlozi puska ... a to tak, ze z miestnosti/alebo batohu odstranis parbu aj hlaven a vlozis tam predmet puska .. ak nemas obe potrebne veci, cize hlaven a parbu tak sa vypise len nejaka hlaska, ze nemas potrebne zlozky.
no skusal som to ale nevelmi mi to ide nevies jak dosiahnem ze ked spojim tie dva predmety aby mi naskocil treti ale zaroven tie 2 zmizli
?
addItem a removeItem ... ved to je najlahsie co moze byt .... su aj horsie veci  bu
A tie funkcie addItem a removeItem uz boli v RoomImpl zadefinovane a bolo ich treba pouzit pri Itemoch alebo ich najprv bolo treba zadefinovat v RoomImpl ??

Wolfdale

to je uz zadefinovane...

game.getCurrentroom().addItem("predmet na pridanie");
game.getCurrentroom().removeItem(game.getCurrentroom().getItem("predmet na zmazanie"));

Ešte sme to nedokončili celkom, ale takmer sme už začali.

Cukor

Quote from: Tux on  31.01.2012, 20:58:47
to je uz zadefinovane...

game.getCurrentroom().addItem("predmet na pridanie");
game.getCurrentroom().removeItem(game.getCurrentroom().getItem("predmet na zmazanie"));
Aha diky pekne za info.

ta druha cast co si pisal
game.getCurrentroom().addItem("predmet na pridanie");
game.getCurrentroom().removeItem(game.getCurrentroom().getItem("predmet na zmazanie"));

to uz ide do   public GameState use(Game game)   do triedy daneho itemu nie?

Wolfdale

ano do metody use...ale budes tam potrebovat podmienku ze sa iba vtedy da poskladat ta puska ci co, ked mas aj tie dve veci v danej miestnosti(este spec. pripad v batohu)...inak nie.


Ešte sme to nedokončili celkom, ale takmer sme už začali.

Cukor

Quote from: Tux on  31.01.2012, 21:10:01
ano do metody use...ale budes tam potrebovat podmienku ze sa iba vtedy da poskladat ta puska ci co, ked mas aj tie dve veci v danej miestnosti(este spec. pripad v batohu)...inak nie.

A nevies jak to dam do if -u ? ze je pritomna pazba aj hlaven ?

Wolfdale

if((game.getCurrentroom().getItem("pazba") != null) && (game.getCurrentroom().getItem("hlaven") != null)) {
  game.getCurrentroom().addItem(new Puska());
  game.getCurrentroom().removeItem(game.getCurrentroom().getItem("hlaven"));
  game.getCurrentroom().removeItem(game.getCurrentroom().getItem("pazba"));
  game.getUI().println("poskladal som pusku");
} else game.getUI().println("nemas potrebne veci na poskladanie pusky...")
return GameState.PLAYING;

asi tak nejak...

Ešte sme to nedokončili celkom, ale takmer sme už začali.

Cukor

Quote from: Tux on  31.01.2012, 21:17:48
if((game.getCurrentroom().getItem("pazba") != null) && (game.getCurrentroom().getItem("hlaven") != null)) {
  game.getCurrentroom().addItem(new Puska());
  game.getCurrentroom().removeItem(game.getCurrentroom().getItem("hlaven"));
  game.getCurrentroom().removeItem(game.getCurrentroom().getItem("pazba"));
  game.getUI().println("poskladal som pusku");
} else game.getUI().println("nemas potrebne veci na poskladanie pusky...")
return GameState.PLAYING;

asi tak nejak...

Diky pekne aj ja som prisiel na nieco podobne to s tymi Itemmi by uz aj slo este keby som mohol mam dve otazky :
1. Ked vytvaram miestnost ktora sa ma volat napr.  AAA  a ma mat popis napr. "toto je miestnost AAA" tak potom ked pisem do metody   public void createRooms(){
RoomImpl AAA = new RoomImpl("toto je miestnost AAA");
otazka je je to spravne ten popis ma byt tam ci to je nieco ine?

2. Druha otazka je ze som pocul ze popis jednotlivych predmetov je schvalne na viac riadkov ze sa to da spajat nejak v tej zatvorke ("opis predmetu je dlhy")

Diky

BlackBerry

Quote from: Cukor on  31.01.2012, 21:25:55
Quote from: Tux on  31.01.2012, 21:17:48
if((game.getCurrentroom().getItem("pazba") != null) && (game.getCurrentroom().getItem("hlaven") != null)) {
  game.getCurrentroom().addItem(new Puska());
  game.getCurrentroom().removeItem(game.getCurrentroom().getItem("hlaven"));
  game.getCurrentroom().removeItem(game.getCurrentroom().getItem("pazba"));
  game.getUI().println("poskladal som pusku");
} else game.getUI().println("nemas potrebne veci na poskladanie pusky...")
return GameState.PLAYING;

asi tak nejak...

Diky pekne aj ja som prisiel na nieco podobne to s tymi Itemmi by uz aj slo este keby som mohol mam dve otazky :
1. Ked vytvaram miestnost ktora sa ma volat napr.  AAA  a ma mat popis napr. "toto je miestnost AAA" tak potom ked pisem do metody   public void createRooms(){
RoomImpl AAA = new RoomImpl("toto je miestnost AAA");
otazka je je to spravne ten popis ma byt tam ci to je nieco ine?

2. Druha otazka je ze som pocul ze popis jednotlivych predmetov je schvalne na viac riadkov ze sa to da spajat nejak v tej zatvorke ("opis predmetu je dlhy")

Diky
1.RoomImpl AAA= new RoomImpl("tu mas meno","tu mas popis")...snad je to zretenelne
2.tak to je blbost co si pocul :)...zatvorku mas rozdelenu na dve casti...prva cast je name a druha description

Wolfdale

1. ja by som to riesil tak, ze v triede GameImpl by som si vytvoril nove premenne typu Room. a potom v metode createRooms() to zadefinoval. napr.

private Room a; //ta premenna

a = new RoomImpl("meno miestnosti", "opis miestnosti"); //nova miestnost
a.setExits(null,null,null,null) // vychody, momentalne vsetky uzavrete
a.addItem(new Puska()); //pridanie pusky do miestnosti a



2.  public class Drevo extends AbstractItem{
   
    public Drevo(){
        super("drevo","neeeeeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnnooooooooooooorrrrrrrrrrmmmmmm"
                            + "aaaaaaaaaaaalllllllllllllllllllnnnnnnnnneeeeeeeee dlhy opis ");
    }
}


Ešte sme to nedokončili celkom, ale takmer sme už začali.

Cukor

Quote from: BlackBerry on  31.01.2012, 21:30:06
Quote from: Cukor on  31.01.2012, 21:25:55
Quote from: Tux on  31.01.2012, 21:17:48
if((game.getCurrentroom().getItem("pazba") != null) && (game.getCurrentroom().getItem("hlaven") != null)) {
  game.getCurrentroom().addItem(new Puska());
  game.getCurrentroom().removeItem(game.getCurrentroom().getItem("hlaven"));
  game.getCurrentroom().removeItem(game.getCurrentroom().getItem("pazba"));
  game.getUI().println("poskladal som pusku");
} else game.getUI().println("nemas potrebne veci na poskladanie pusky...")
return GameState.PLAYING;

asi tak nejak...

Diky pekne aj ja som prisiel na nieco podobne to s tymi Itemmi by uz aj slo este keby som mohol mam dve otazky :
1. Ked vytvaram miestnost ktora sa ma volat napr.  AAA  a ma mat popis napr. "toto je miestnost AAA" tak potom ked pisem do metody   public void createRooms(){
RoomImpl AAA = new RoomImpl("toto je miestnost AAA");
otazka je je to spravne ten popis ma byt tam ci to je nieco ine?

2. Druha otazka je ze som pocul ze popis jednotlivych predmetov je schvalne na viac riadkov ze sa to da spajat nejak v tej zatvorke ("opis predmetu je dlhy")

Diky
1.RoomImpl AAA= new RoomImpl("tu mas meno","tu mas popis")...snad je to zretenelne
2.tak to je blbost co si pocul :)...zatvorku mas rozdelenu na dve casti...prva cast je name a druha description
1.RoomImpl AAA= new RoomImpl("tu mas meno","tu mas popis")...snad je to zretenelne
"tu mas meno"  ked sa ma volat miestnost AAA tam das AAA alebo len nejaky index 1 ze je to prva miestnost?

Wolfdale

#712
kde to chces volat?

v inite()?

tam treba dat

setCurrentRoom(AAA);

Ešte sme to nedokončili celkom, ale takmer sme už začali.

Cukor

Quote from: Tux on  31.01.2012, 21:39:48
kde to chces volat?
ok uz som na to prisiel co som chcel :D myslel som ked miestnost sa ma nazvyt AAA a ma mat popis nejaky ci to je tak spravne ale istil som ze je to tak:
RoomImpl aRoom1 = new RoomImpl("AAA","popis miestnosti AAA"
                                                                         + "je to dlhy opis");

Cukor

Je tu niekto kto by doucil OOP? €

Wolfdale

#715
napis podrobnejsie co vlastne potrebujes...teoreticke otazky ti robia problemy? aneb kodenie? ak kodenie, tak pis radsej sem, pokusime sa ta naviest na spravnu odpoved, tak sa to naucis najlepsie  ;)

Ešte sme to nedokončili celkom, ale takmer sme už začali.

Cukor

No ako to kodenie na dnesnej skuske ma dostalo preto chcem to s niekym osobne prebrat lebo dnes som mal dost nejasnosti hned vytvorit miestnost ako klasika cez roomImpl lenze tam boli vytvorene iba triedy GameImpl, Main, a Parser a treida RoomImpl v tom packagi nebola. Dalej bolo treba vytvorit Rozhranie Runable -boolen , turn on(), turn off(), co mi tiez spravilo problem a dalsia zaujimavost bol ze Itemy bolo treba nahodit do toho isteho package u kde boli Main, Parser a GameIMPL.

xxx3

#717
zadanie si si nerobil sam, ze ? :)

miestnosti sa vytvaraju v GameImpl, nie v RoomImpl, konkretne v metode createRooms.

Vytvorit rozhranie ? Kliknes pravym a das New Interface, donho pises tie metody. Das si tam jednu boolean premennu a turnOn/Off bude zrejme mennit jej hodnotu na true/false ... neviem ake zadanie bolo konkretne.

Itemy je uplne jedno v ktorom package su ... vsak netbeans si po kliknuti na zlty vykricnik sam spravi import.

Agamemnon

čoooo? java má fieldy v interfaceoch? to je čo za nezmysel
All code is crap.

42

Cukor

Quote from: xxx3 on  01.02.2012, 20:32:00
zadanie si si nerobil sam, ze ? :)

miestnosti sa vytvaraju v GameImpl, nie v RoomImpl, konkretne v metode createRooms.

Vytvorit rozhranie ? Kliknes pravym a das New Interface, donho pises tie metody. Das si tam jednu boolean premennu a turnOn/Off bude zrejme mennit jej hodnotu na true/false ... neviem ake zadanie bolo konkretne.

Itemy je uplne jedno v ktorom package su ... vsak netbeans si po kliknuti na zlty vykricnik sam spravi import.
To viem ze sa miestnosti robia v GameImpl v createRooms ale ked tam nemam triedu RoomImpl a zacnem do createRooms pisat RoomImpl aRoom1 = new RoomImpl("1");  tak mi to RoomImpl  nepozna...

Wolfdale

vela tried tam mas, ale su v kniznici textgame. nemas ich priamo ako source-package. novu miestnost vytvoris jednoducho, v triede si najrpv zadefinues nove premenne typu Room, tj. public Room room1;..... a potom v metode createrooms to pouzivas takto:
room1 = new RoomImpl("miestnost c.1","aka suprova miestnost");

rozhranie spravis tak, ako ti to pisal xxx3...pravym klik na balicek, New--> Java Interface a pises veci...

zatial v kazdom zadani bolo napisane, ze snazte sa dodrzat pravidla zapuzdrenosti, vsetky triedy nech sa nachadzaju v balicku exam. nevidim v tom problem vytvorit vsetky triedy v tom balicku.

Ešte sme to nedokončili celkom, ale takmer sme už začali.

xxx3

tak ako pise Tux, ty tam tu triedu RoomImpl mas, ale nie je mozne v nej vykonavat akekolvek zmeny, takze ju tam nevidis medzi tymi ostatnymi ako Parser, GameImpl .. je implementovana v kniznici

tino8

do rozhrani by sa mali davat iba konstanty, nedavajte tam ziadne premenne su to zle navyky, a ani to velmi nema zmysel


karamel je cukr co se uz neuzdravi!

sulo

V rozhraniach môžu byť iba verejné konštanty, čiže "public static final". Ak sa tam tie kľúčové slová nedajú, Java si ich tam akoby implicitne doplní. Klasické premenné v rozhraniach nemôžu byť v žiadnom prípade.

Cukor

Nemate niekto vzor takeho zadania kde su viditelne iba triedy GameImpl, Main a Parser? aby som si na nom vedel vyskusat nakodit nejake veci lebo na skusku som sa pripravoval tak ze som vymazal veci z mojho zadania a kodil nanovo ale na skuske boli nejake veci inak. Velmi by mi to pomohlo diky.