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

veteran

#75
Mne tá potvora behá skoro tak, ako by mala. Teda pri chode kabíny nadol sa lano pekne vykresľuje. Keď vrátim kabínu späť nahor (akože to nulté poschodie), tak všetko ide tak ako má, akurát keď kabína zastane, tak sa mi nad ňou vykreslí ešte jeden pixel.  >:( Zrejme to bude to isté, čo spomínal VoCoGo včera večer.



Upravoval som len metódu goToFloor() - nasledovne:
public void goToFloor(int floor){
        closeDoor(); // zatvorime dvere
       
        if (floor < 0)
           floor = 0;
        if (floor >= this.floors)
        floor = this.floors -1;
        int delta = ( floor > actualFloor ? 1 : -1 ); // vypocita sa delta, bude 1 alebo -1
     
        while(floor != this.actualFloor){ // pohyb medzi poschodiami
            for(int step = 0; step < this.cabine.getHeight(); ++step){ // cyklus vramci jedneho posunu na poschodie
                this.cabine.setY(this.cabine.getY() + delta); // zmena ypsilonovej suradnice
                Canvas.setColor(Color.GRAY);
                Canvas.drawPixel((this.cabine.getX()+this.cabine.width+1)/2, this.cabine.getY()-1);
                TimeFlow.elapse(100);
            }
     
            this.actualFloor += delta;
           
        }
       
     
        openDoor();
    }

VoCoGo

ja som to inak robil, toto tvoje ked si skopirujem ani mi to nejde, pise mi problem pri this.canvas.width, ze width mam private v Rectangle

Ja to mam tak, ze som si spravil v konstruktore dalsi objekt lano = new Rectangle(...) a potom v metode goToFloor som to pridal, ze ked sa hybe vytah tak aby nastavovalo vysku (height) toho lana podla toho na ktorom poschodi je vytah, do toho cyklu while som to dopisal

RiTChi

#77
Mne to funguje... pre inspiraciu:

v triede:

private Rectangle rope;


v konstruktore:


...
        this.rope = new Rectangle( (int)( this.cabine.getX() + ( this.cabine.getWidth()/2 ) ),
                                   ( this.cabine.getY() - ( floors * this.cabine.getHeight() ) )- this.cabine.getHeight(),
                                   1,
                                   ( ( this.cabine.getHeight() * this.floors ) + this.cabine.getHeight() ),
                                   Color.YELLOW );
        this.rope.show();
...


v goToFloor( int floor ):


...
  for( int step = 0; step < cabine.getHeight(); ++step )
  {
       this.cabine.hide();
       this.rope.hide();
       this..rope.setHeight( delta + this.rope.getHeight() );
       this.cabine.setY( delta + this.cabine.getY() );
       this.rope.show();
       this.cabine.show();
       TimeFlow.elapse( 50 );
   }
...

mirek

ked tak nad tym rozmyslam, tak sa to da cele vyriesit len jednym riadkom navyse v existujucom kode. skusim sa do toho pustit dneska vecer.
So say we all!

charlie

neviete kedy bude dalsia bleskovka u Kapa?

Wolfdale

3. tyzden
6. tyzden
9. tyzden
12. tyzden

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

matotv

teraz pondelok mame odovzdat scenar vsak? :D mam cvika s kapom, nevie niekto ako to ma vyzerat? lebo teraz pondelok cvika rano neboli  takze blizsie info neviem, ci vobe treba teraz odovzdat :D

ultimate

co treba odovzdat ? :D .. ja mam tiez s kapom a o nicom neviem :D

veteran

Scenáre sa odovzdávajú až v 6. týždni, nerobte paniku.

paloSK

Quote from: veteran on  13.10.2011, 22:38:14
Scenáre sa odovzdávajú až v 6. týždni, nerobte paniku.
A v pondelok rano cvika boli.  :D
:D

matotv

#85
tak rano,  :D 10:55 neboli, takze urcite scenar az v 6 tyzdni? mne sa zdalo ze v 5, aj dvaja kamosi si to tak pamataju

ultimate


mino

Co sa preberalo na 4. prednaske? Pytam sa, lebo na 3. prednaske sa nebrala 3. prezentacia, ale 6. - staticke cleny/metody. Bola teraz 3. - Dedicnost alebo 4. Rozhrania a abstraktne triedy alebo nieco ine?  ???

Agamemnon

abstraktné triedy bez dedičnosti neurobíš... resp. nemajú zmysel...
All code is crap.

42

mino

Quote from: Agamemnon on  15.10.2011, 03:13:02
abstraktné triedy bez dedičnosti neurobíš... resp. nemajú zmysel...
Tiež pravda :D

farkasdvd

Mam otazku k minulemu cviceniu(asi 4.).
Jak zavolam metodu print() z konstruktora Elevatoru, ked metoda print() vyzaduje este jeden parameter typu Elevator:
StatusBar.print(???, "The elevator was just created.")

V triede Statusbar ten print() vizera takto:

public static print(Elevator elevator, String message){
        Canvas.setColor(Color.WHITE);
        Canvas.drawText("Msg from [" + elevator.getId() + "]:" + message, elevator.getX(), 30);
}


AnvilOfFury

#91
Quote from: farkasdvd on  15.10.2011, 16:32:28
Mam otazku k minulemu cviceniu(asi 4.).
Jak zavolam metodu print() z konstruktora Elevatoru, ked metoda print() vyzaduje este jeden parameter typu Elevator:
StatusBar.print(???, "The elevator was just created.")

V triede Statusbar ten print() vizera takto:

public static print(Elevator elevator, String message){
        Canvas.setColor(Color.WHITE);
        Canvas.drawText("Msg from [" + elevator.getId() + "]:" + message, elevator.getX(), 30);
}

(edit)
Si v konštruktore Elevator a chceš zavolať metódu print(Elevator, String) z triedy StatusBar?

StatusBar.print(this, "The elevator was just created.");
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

farkasdvd

Quote from: AnvilOfFury on  15.10.2011, 16:39:51
Quote from: farkasdvd on  15.10.2011, 16:32:28
Mam otazku k minulemu cviceniu(asi 4.).
Jak zavolam metodu print() z konstruktora Elevatoru, ked metoda print() vyzaduje este jeden parameter typu Elevator:
StatusBar.print(???, "The elevator was just created.")

V triede Statusbar ten print() vizera takto:

public static print(Elevator elevator, String message){
        Canvas.setColor(Color.WHITE);
        Canvas.drawText("Msg from [" + elevator.getId() + "]:" + message, elevator.getX(), 30);
}

(edit)
Si v konštruktore Elevator a chceš zavolať metódu print(Elevator, String) z triedy StatusBar?

StatusBar.print(this, "The elevator was just created.");


Ano, presne tak som to myslel. Funguje to perfektne, dakujem.  :)

ultimate

Neviete kde by som nasiel nejaky priklad ako ma ta textova hra, ktora je ako zadanie realne vyzerat ?

Tam v scenari cviceni je nejaky link, ale je nefunkcny.

orsi

odporucam využívať ako dobrý zdroj informácií napríklad Google.  ;) alebo ked ta stretnem v stredu na prednáške z matiky tak ti môžem dať jednu hru, ktorú nám odporúčal binas. nevedel som to prejst a strašne mi to žralo procesor...  :D  :D

Brand

Quote from: orsi on  17.10.2011, 20:46:02
odporucam využívať ako dobrý zdroj informácií napríklad Google.  ;) alebo ked ta stretnem v stredu na prednáške z matiky tak ti môžem dať jednu hru, ktorú nám odporúčal binas. nevedel som to prejst a strašne mi to žralo procesor...  :D  :D

to musela byt namakana textovka  :metal:

AnvilOfFury

Quote from: ultimate on  17.10.2011, 20:06:33
Neviete kde by som nasiel nejaky priklad ako ma ta textova hra, ktora je ako zadanie realne vyzerat ?

Tam v scenari cviceni je nejaky link, ale je nefunkcny.
http://freearcade.com/textadventures.html prvy link v googli, alebo posli scenar a dodam ti celu tvoju vypracovanu TextGame.
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

xxx3

buduci tyzden treba odovzdat len scenar ? Alebo treba mat vymyslene uz aj to rozsirenie a rozhranie ?


stephanides

Nazdar, čo sa učíte na bleskovku na pondelok s Kapom?

Rajo

 bq
Quote from: stephanides on  22.10.2011, 19:46:12
Nazdar, čo sa učíte na bleskovku na pondelok s Kapom?

Mňa by skôr zaujímalo, ako má vyzerať ten scenár....