Author Topic: OOP  (Read 114268 times)

xxx3

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #700 on: 30.01.2012, 13:49:16 »
vsak mas funkcie removeItem a addItem .. asi pomocou nich, nie ?

darkoooooo

  • Guest
Re: OOP
« Reply #701 on: 30.01.2012, 15:34:59 »
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

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #702 on: 31.01.2012, 19:56:21 »
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

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 489
  • /root
    • View Profile
Re: OOP
« Reply #703 on: 31.01.2012, 19:58:47 »
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

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #704 on: 31.01.2012, 20:03:33 »
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

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 489
  • /root
    • View Profile
Re: OOP
« Reply #705 on: 31.01.2012, 20: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.

 

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

Cukor

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #706 on: 31.01.2012, 20:13:00 »
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

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 489
  • /root
    • View Profile
Re: OOP
« Reply #707 on: 31.01.2012, 20: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...

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

Cukor

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #708 on: 31.01.2012, 20:25:55 »
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

  • Jr. Member
  • **
  • Posts: 73
    • View Profile
Re: OOP
« Reply #709 on: 31.01.2012, 20:30:06 »
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

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 489
  • /root
    • View Profile
Re: OOP
« Reply #710 on: 31.01.2012, 20:32:16 »
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.

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

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #711 on: 31.01.2012, 20:36:02 »
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

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 489
  • /root
    • View Profile
Re: OOP
« Reply #712 on: 31.01.2012, 20:39:48 »
kde to chces volat?

v inite()?

tam treba dat

setCurrentRoom(AAA);
« Last Edit: 31.01.2012, 20:48:46 by Tux »

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

Cukor

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #713 on: 31.01.2012, 20:46:58 »
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

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #714 on: 01.02.2012, 18:53:03 »
Je tu niekto kto by doucil OOP? €

Wolfdale

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 489
  • /root
    • View Profile
Re: OOP
« Reply #715 on: 01.02.2012, 19:06:36 »
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  ;)
« Last Edit: 01.02.2012, 19:18:46 by Tux »

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

Cukor

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #716 on: 01.02.2012, 19:27:35 »
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

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #717 on: 01.02.2012, 19: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.
« Last Edit: 01.02.2012, 19:34:35 by xxx3 »

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: OOP
« Reply #718 on: 01.02.2012, 19:37:13 »
čoooo? java má fieldy v interfaceoch? to je čo za nezmysel
All code is crap.

42

Cukor

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #719 on: 01.02.2012, 19:39:19 »
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

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 489
  • /root
    • View Profile
Re: OOP
« Reply #720 on: 01.02.2012, 19:53:40 »
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

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #721 on: 01.02.2012, 20:45:52 »
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

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: OOP
« Reply #722 on: 01.02.2012, 23:02:26 »
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

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: OOP
« Reply #723 on: 01.02.2012, 23:55:33 »
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

  • Jr. Member
  • **
  • Posts: 50
    • View Profile
Re: OOP
« Reply #724 on: 02.02.2012, 09:13:48 »
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.