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

OP - Objektove programovanie

Started by pepco, 23.02.2008, 02:04:57

« predchdzajce - alie »

kornas

Aha, dik uz to mam, ale ked generuje dokumentaciu, tak vygeneruje len 2 triedy a ostatne nie, to preco ?? nevie niekto ? nema niekto podobny problem ?

Agamemnon

najskôr niečo nemáš nastavené...
All code is crap.

42

Agamemnon

ma tak napadá... máš komentáre aj pre triedy? nie som si istý, či to tam musí byť... ale mám pocit, že asi hej
All code is crap.

42

kornas

Quote from: Agamemnon on  04.05.2008, 05:01:38
ma tak napadá... máš komentáre aj pre triedy? nie som si istý, či to tam musí byť... ale mám pocit, že asi hej

Tak na toto by som v zivote neprisiel. Diki Agamemnon  :thumbsup:

TradeMark

otazka k bin. serializacii... v ramci triedy TextGame : IGame mam metody Save a Load. Save som cez binarny formatter spojazdnil...subor sa vytvori (pricom ukladam objekt this (teda isntanciu triedy TextGame)).
Hapruje vsak Load ... ked totiz robim toto:

this = (TextGame)formatter.Deserialize(stream);

tak mi to napise error a to ze:

Cannot assign to '<this>' because it is readonly

nejaky napad preco to robi co to robi?

Pičoch jest veľo, ale nalivačoch malo!

Mao

Pretoze this je read only :) .
Neveis prepisat priamo celu instanciu, v ktorej sa nachadas, cize skus rucne nastavit vsetky clenske premenne triedy v ktorej sa nachadas.

Agamemnon

lebo nevieš priradiť do aktuálneho objektu takto... toto sa tu rozoberalo pred asi 2 dňami...
musíš vytvoriť objekt typu Game, ten vrátiť ako návratovú hodnotu Load metódy a potom ho priradiť do premennej typu Game, kde máš aktuálnu hru... - mimo triedy Game - napr. v Maine
All code is crap.

42

Agamemnon

Quote from: Mao on  04.05.2008, 05:41:51
Pretoze this je read only :) .
Neveis prepisat priamo celu instanciu, v ktorej sa nachadas, cize skus rucne nastavit vsetky clenske premenne triedy v ktorej sa nachadas.

ľahšie je prepísať z vonku celý ten objekt
All code is crap.

42

TradeMark

Quote from: Agamemnon on  04.05.2008, 05:43:07
lebo nevieš priradiť do aktuálneho objektu takto... toto sa tu rozoberalo pred asi 2 dňami...
musíš vytvoriť objekt typu Game, ten vrátiť ako návratovú hodnotu Load metódy a potom ho priradiť do premennej typu Game, kde máš aktuálnu hru... - mimo triedy Game - napr. v Maine

Moja situacia -

Trieda Game - ta ma Main metodu - v nej je jeden riadok (TextGame Hra = new TextGame();)

Tridea TextGame : IGame - tu je metoda Load a Save

Ak som ta dobre pochopil tak navratovy typ Loadu by mal byt typu TextGame ale to nejde pretoze implmentujem aktualne rozhrania a tie hovoria ze metoda Load ma mat navratovu hodnotu bool. Cize existuje nejaky iny sposob? resp. da sa to urobit v mojej situacii?
Pičoch jest veľo, ale nalivačoch malo!

kOsTi

:trestac:

Agamemnon

mal mirek prv nakódiť tú hru a až potom robiť rozhrania...

hmm...

viac-menej... budeš to musieť loadovať po jednom (a teda aj ukladať)... niečo na spôsob, čo Mao napísal pár príspevkov skôr...
All code is crap.

42

sri

Skus v metode Load zapisat do nejakej premennej typu TextGame tu navratovu hodnotu, ktoru potrebujes dostat von a vytvor pre nu nejaku metodu GetLoadedGame(), ktora tuto premennu bude vracat a potom mimo tej celej triedy napises napr.

hra.load();
hra = hra.GetLoadedGame();

Snad je moj myslienkovy pochod spravny

kOsTi

Quote from: Agamemnon on  04.05.2008, 06:16:50
mal mirek prv nakódiť tú hru a až potom robiť rozhrania...

hmm...

viac-menej... budeš to musieť loadovať po jednom (a teda aj ukladať)... niečo na spôsob, čo Mao napísal pár príspevkov skôr...

no ukladat nemusi po jednom nakolko je v jednej triede tak ma k premennym pristup :)
:trestac:

Agamemnon

Quote from: kOsTi on  04.05.2008, 06:19:40
Quote from: Agamemnon on  04.05.2008, 06:16:50
mal mirek prv nakódiť tú hru a až potom robiť rozhrania...

hmm...

viac-menej... budeš to musieť loadovať po jednom (a teda aj ukladať)... niečo na spôsob, čo Mao napísal pár príspevkov skôr...

no ukladat nemusi po jednom nakolko je v jednej triede tak ma k premennym pristup :)

nj...
All code is crap.

42

Agamemnon

Quote from: sri on  04.05.2008, 06:18:27
Skus v metode Load zapisat do nejakej premennej typu TextGame tu navratovu hodnotu, ktoru potrebujes dostat von a vytvor pre nu nejaku metodu GetLoadedGame(), ktora tuto premennu bude vracat a potom mimo tej celej triedy napises napr.

hra.load();
hra = hra.GetLoadedGame();

Snad je moj myslienkovy pochod spravny

hehe, super riešenie štýlu "ako obísť systém" :)
All code is crap.

42

sri

Dufam, ze to nie je myslene ironicky :) Taketo "triky" robim v kuse :)

ot: GOOOOOOOL! (Prave pozeram hokej, vyhravame 1:0 :) )

kornas

#716
Takto som to mal aj ja (a viac-menej aj stale mam), ale podla mna tie interface-i chcu metodu Load(), ktora uz rovno nacita tu vopred ulozenu hru... A takymto sposobom, by som musel este volat dalsi krok, ktory by uz nebol v ramci Load()... aspon tak nejak ja tomu chapem... Ale neviem, no jediny sposob ako docielit nieco take, je tak ako Mao napisal... Ale ako vytiahnem zo suboru hodnoty premennych to nemam sajnu... (to sa asi vytahuju cele ulozene objekty) Ako to s tym nastavovanim premennych po nacitani zo suboru??

Agamemnon

Quote from: sri on  04.05.2008, 07:33:30
Dufam, ze to nie je myslene ironicky :) Taketo "triky" robim v kuse :)

ot: GOOOOOOOL! (Prave pozeram hokej, vyhravame 1:0 :) )

nie je myslené ironické :)

kde vkuse? si nvm predstaviť, kde sa niečo takéto dá využiť... ak treba "hackovať" nejaké riešenia, tak niekde bude chyba (viď css napr.)
All code is crap.

42

Agamemnon

Quote from: kornas on  04.05.2008, 07:47:09
Takto som to mal aj ja (a viac-menej aj stale mam), ale podla mna tie interface-i chcu metodu Load(), ktora uz rovno nacita tu vopred ulozenu hru... A takymto sposobom, by som musel este volat dalsi krok, ktory by uz nebol v ramci Load()... aspon tak nejak ja tomu chapem... Ale neviem, no jediny sposob ako docielit nieco take, je tak ako Mao napisal... Ale ako vytiahnem zo suboru hodnoty premennych to nemam sajnu... (to sa asi vytahuju cele ulozene objekty) Ako to s tym nastavovanim premennych po nacitani zo suboru??

vytiahneš objekt a uložíš ho do tmp premennej... máš prístup na všetky premenné (aj private), keďže si v danej triede... popriradzuješ hodnoty z tmp do tvojho hlavného objektu... tmp zrušíš... a vrátiš true :)
All code is crap.

42

sri

Quote from: Agamemnon on  04.05.2008, 07:50:31
Quote from: sri on  04.05.2008, 07:33:30
Dufam, ze to nie je myslene ironicky :) Taketo "triky" robim v kuse :)

ot: GOOOOOOOL! (Prave pozeram hokej, vyhravame 1:0 :) )

nie je myslené ironické :)

kde vkuse? si nvm predstaviť, kde sa niečo takéto dá využiť... ak treba "hackovať" nejaké riešenia, tak niekde bude chyba (viď css napr.)

No tak mozno som to "vkuse" prehnal, ale pouzivam to casto... Konkretne ma teraz nenapada, vela hodin :D Mozno rano ;)

Sooloni

neviem nekto co bude zajtra na prepadovke s mirekom?

ONdro

Moze mi niekto povedat,co mam opravit,ked mam takuto vynimku pri ukladani objektu triedy Game do suboru  :

     Game.Game is inaccessible due to its protection level. Only public types can be processed.

??Obsahu vynimky rozumiem,ale ako ju odstranit nie...  bu Je to preto,ze pouzivam Singleton?

Agamemnon

All code is crap.

42

buhehe

#723
neviem ci mi sibe alebo co ale furt mi to zbehne...
if (item != null){
    this.actualRoom.GetRoomItems().Add(item);
    step = new Step(actualRoom, backpack);
}

a item je null podla debuggera...

edit: uz nic....fakt mi sibe :)

kOsTi

#724
otazka na ywetku:

mozem ti to zajtra odovzdat? ... resp co vsetko mi treba, resp staci to na usb alebo treba napalit alebo co? :)

aaa treba aj nove UML, kedze to co sme davali je uz viacmenej odveci :)
:trestac: