Author Topic: OOP  (Read 114441 times)

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: OOP
« Reply #450 on: 08.12.2011, 19:43:14 »
Tak ked uz sme pri tom, tak pozeral som aj ine videa, a cital som aj odporucanu literaturu. Konkretne stevove videa som mal ako ucebnu pomocku, ktora nebola JEDINA. Kvoli zadaniu chodim spavat posledne dva tyzdne o stvrtej rano. Tak dufam ze sa mi investovany cas aj nalezito zuroci...

mas konkurencnu vyhodu pri prijimani do zamestnania, lebo tomu budes rozumiet (bez tohto mozes robit php web stranky... tam netreba nicomu rozumiet... pri php je prekazka, ak tomu rozumies... hehe :D ano, nemam rad objektove php, to je omyl a zvrhlost :))... plus budes mat skusenost s tym, ako sa ucit novy jazyk, co tiez vies vyuzit...
All code is crap.

42

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: OOP
« Reply #451 on: 08.12.2011, 19:47:56 »
xxx3:
najskor prehod tie checky do prikazov na pohyb (mozno nejaky superclass, v ktorom to budes mat zjednotene alebo tak...)...
hmm, alebo to mozes implementovat do setCurrentRoom :) odtial zavolas kontrolu nad miestnostou, z ktorej prave odchadzas, ci z nej mozes odist... nieco na styl validacie, povedzme... a potom nastavis gamestate podla toho... nieco take :) toto je asi lepsie, jednoduchsie :)
All code is crap.

42

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #452 on: 08.12.2011, 19:50:48 »
To Agamemnon: Stranky ma nikdy nezaujimali a ani na to nemam esteticke citenie :D A vdaka za povzbudive slova :)

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #453 on: 08.12.2011, 20:02:29 »
Tak, aby bolo jasné - ja osobne to používam čisto ako učebnú pomôcku, kde je celý postup programovania toho zadania vysvetlený oveľa lepšie, než na cvičeniach.

tu by som len podotkol, ze slovo cvicenie ma zaklad v slove cvicit a nie vysvetlovat. podstata cviceni by mala byt v precvicovani vysvetleneho na prednaskach a konzultovani vzniknutych nejasnosti a nie v znovuvysvetlovani toho, co bolo vysvetlene na prednaskach, pretoze niekto na prednasky nechodi.

na mojich cviceniach sa snazim, aby ste rozumeli, co mate robit. preto vzdy kazde cvicenie zacina analyzou problemu, ktory ma byt vyrieseny. preto ju robime spolu na tabuli. preto ta analyza obsahuje kopec otazok odo mna voci vam, pretoze chcem, aby ste rozmyslali a videli suvislosti. objektove programovanie nie je ani tak o tom kodeni, ako o tom navrhu.

a špekulujem za pomoci Pecinovského knihy (áno, bol som ochotný investovať 50 € do knihy! To je, čo?)

uz len tak veselo dodam, ze - mam z teba radost ;)

Bez tých screencastov by som mal fakt veľký problém pochopiť niektoré implementácie či funkcionality konkrétne v tomto zadaní. A je to mimochodom aj veľmi dobrá príprava na praktickú časť skúšky. Najprv to celé potrebujem pochopiť, ako to funguje, prečo to tak funguje, nakoľko som ešte 18. septembra 2011 nemal ani páru o Jave. Určite to nie je tak, že si k tomu sadnem a celé to okopírujem do finálnej podoby zadania.
ja mam zasa velmi rad relaciu bez servitky. tiez nemam velmi paru o tom, ako dobre a kvalitne varit. kolko casti mi odporucis napozerat, aby som sa mohol dostatocne pripravit na prakticke varenie a pochopil cely princip varenia?
So say we all!

xxx3

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #454 on: 08.12.2011, 20:05:29 »
nevymyslajte zlozite veci... ak potrebujes pri pouziti nejakeho predmetu odomknut/nastavit nejaky vychod (=zavolat setexits), tak si tu miestnost, do ktorej sa potom budete moct dostat (teda, ktoru pouzijes ako parameter v setexits), predajte ako parameter kontruktora toho predmetu, ulozte do private premennej v predmete a v metode use to potom uz len pouzite... popisoval som to tu pred par dnami...

este na toto by som sa chcel spytat ... mam v createRooms napr. vytvorenu miestnost: RoomImpl Miestnost5 = new RoomImpl("M5","Si v miestnosti 5")

A potom ju ako mozem predat ako parameter konstruktora predmetu ? Nechapem. V konstruktore predmetu je napr.: 
Code: [Select]
public Key(){
        super("kluc","Stary zhrdzaveny kluc");
    }
kedze dedi od AbstractItem:
Code: [Select]
public AbstractItem(String name, String description){
        this.name = name;
        this.description = description;
    }

Nevysvetlili by ste niekto blizsie ako si predat neiktoru konkretnu miestnost cez ten konstruktor ?


Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: OOP
« Reply #455 on: 08.12.2011, 20:08:24 »
nevymyslajte zlozite veci... ak potrebujes pri pouziti nejakeho predmetu odomknut/nastavit nejaky vychod (=zavolat setexits), tak si tu miestnost, do ktorej sa potom budete moct dostat (teda, ktoru pouzijes ako parameter v setexits), predajte ako parameter kontruktora toho predmetu, ulozte do private premennej v predmete a v metode use to potom uz len pouzite... popisoval som to tu pred par dnami...

este na toto by som sa chcel spytat ... mam v createRooms napr. vytvorenu miestnost: RoomImpl Miestnost5 = new RoomImpl("M5","Si v miestnosti 5")

A potom ju ako mozem predat ako parameter konstruktora predmetu ? Nechapem. V konstruktore predmetu je napr.: 
Code: [Select]
public Key(){
        super("kluc","Stary zhrdzaveny kluc");
    }
kedze dedi od AbstractItem:
Code: [Select]
public AbstractItem(String name, String description){
        this.name = name;
        this.description = description;
    }

Nevysvetlili by ste niekto blizsie ako si predat neiktoru konkretnu miestnost cez ten konstruktor ?

to, ze nieco dedi od inej triedy, neznamena, ze nemoze mat vlastne parametre v konstruktore... takisto to moze mat viac konstruktorov...
Code: [Select]
public class Key extends AbstractItem {
  public Key(RoomImpl miestnost) {
    this.miestnost = miestnost;
    super(...);
  }
}
All code is crap.

42

xxx3

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #456 on: 08.12.2011, 20:16:40 »
dakujem

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #457 on: 08.12.2011, 20:18:38 »
toto je hlavne pre steva, kedze mi na jeho kanali stale youtube odstranuje prispevky. hmm... asi som uz riadny spammer

ahoj

odpoviem pomedzi riadky ;)

"Ja osobne si myslim, ze im pomaham"
ja som nenapisal, ze im nepomahas. ano - ty im pomahas. oni dostali ulohu a ty ju riesis za nich. jasne, ze je to lepsie, ako keby to od niekoho kupili - vdaka tebe usetria.
ja som napisal, ze im skodis. oni sa na zaklade tohto zadania maju nieco naucit. maju si nad tym zadanim odsediet niekolko hodin, vyskusat popularnu metodu hop-trop (pokus-omyl), aby porozumeli tomu, preco sa to vsetko sprava tak, ako sa sprava. vdaka tomu, ze im ponuknes svoje riesenie, tak patrat a skusat nemusia. nestravia nad tym tolko casu, ktory by nad tym inac stravit museli. a v podstate to cele "nepreziju" na vlastnej kozi.

"Viem ze sa snazite o to, aby rozmyslali trochu ale najprv ich treba nieco naucit aby pochopili zakladne principy (nie vsetci davaju pozor na prednaske). "
a kedy ich to mame naucit, ked ty im davas rovno riesenie na problem, pomocou ktoreho by sa to naucit mali? kedy si maju osvojit zaklady algoritmizacie a zaklady programovania ako takeho, ked si zadanie v prvaku vyriesil za nich? kedy si vyskusaju, ako to s tymi objektami a vztahmi medzi nimi je, ked aj tuto skusenost, ktoru by mali nadobudnut sami, za nich preskocis? vzdy na zaciatku cvik im zvyknem povedat, ze programovat sa nenaucia len z pozerania. ja napriklad velmi casto pozeram relaciu bez servitky, ale nemozem povedat, ze som vdaka nej lepsi kuchar.

"A potom ked aspon zcasti rozumeju zakladnym veciam, tak mozu doprogramovat aj nejake svoje veci."
a tu je mozno ukryte jadro celeho problemu - staci rozumiet alebo treba vediet pouzit?

pozri sa - poviem to veselo - vymysli si vlastny projekt, na ktorom im budes demonstrovat principy cohokolvek - ci uz jazyka alebo technologie. skus si pripravit screencasty napriklad na nejaky adresar kontaktov alebo bankomat alebo akykolvek iny killer example. myslis si, ze potom bude tvoj kanal taky popularny, ako je teraz? urcite nie. ich to nebude zaujimat, pretoze oni nemaju robit ziadny adresar kontaktov ani ziadny bankomat. oni maju spravit textovku. to je jedno, ze im davame k dispozicii kadejake fajne materialy. oni ich nepotrebuju, pretoze v nich nie je "jasne" napisane, ako to maju vyriesit. kedze im davas cele riesenie, tak ich nenaucis ani len citat dokumentaciu (ku jdk). a toboz uz nie cokolvek, co je napisane v anglictine... dokonca som prekvapeny, ze nikto neobjavil ine screencasty, ako sa taka textovka robi (a dokonca po cesky). a mozno o tom len neviem. si popularny, pretoze riesis konkretny problem za nich.

po minule roky to napriklad vyzeralo tak, ze som bezne zachytil konverzaciu niekolkych skupin studentov na prednaskach z inych predmetov, kde riesili denne problemy z textovky. dnes? je normalne, ze na mojich cvikach riesia zadania z usa alebo z niecoho ineho. v jednej skupine je pravidelne ticho, pretoze sa nevedia ani len opytat na nejaky problem (asi im to vysvetlis lepsie alebo ziadny problem nemaju). mna nebavi robit policajta, ale zalezi mi na tom, aby sa tie deti daco naucili. ucitel totiz moze byt akolkolvek dobry, ale ak jeho studenti na to kaslu, tak je to len strata casu a vynalozeneho usilia.

uz hadam nemam, co by som k tomu viac dodal. sam mi davas za pravdu v poslednom svojom odstavci, kde pises:

"pomoze vam to za predpokladu, ze sa budete snazit tomu aspon trochu porozumiet"

aby ste si nemysleli, ze vas vsetkych hadzem do jedneho vreca - to som nikdy nerobil. je mi jasne, ze su slabsi a su sikovnejsi. len mi je luto, ze ti slabsi sa snazia dosiahnut na kvalitu sikovnejsich necestne. a mrzi ma, ak niekto, kto sa nadrie a vynalozi velke usilie na dosiahnutie vysledku, je ohodnoteny rovnako (a obcas aj horsie) ako niekto, kto na to vynalozil slabe az ziadne usilie. nuz - "sikovnym" patri svet...

mirek
« Last Edit: 08.12.2011, 20:37:00 by mirek »
So say we all!

Stardox

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: OOP
« Reply #458 on: 08.12.2011, 20:40:43 »
Ahojte, som tu zas.  :)

1.) V hre mam herne menu, ale v scenari, ktory sme odovzdavali, som s tym nepocital, mozem teda pridat do scenara, tlacidlo na spustenie hry?
2.) Mozem mat v hernom menu ponuku "Nacitaj hru"? Cize ulozenu poziciu bude mozne loadnut iba z herneho menu.
3.) Ak mam v scenari napriklad takyto prikaz "POUZI CAKAN NA SKALA" je teda mozne, aby som si ten prikaz v scenari upravil len na "POUZI CAKAN". Podobny problem mam aj s truhlickami, pocital som s tym, ze niektore truhlice/krabice uz budu automaticky odomknute, ale aby sme sa dostali k ich obsahu treba zavolat prikaz "PRESKUMAJ TRUHLICA" a az potom sa predmety objavia, mam to riesit pomocou prekrytia, alebo mozem kludne zmenim  v scenary PRESKUMAJ->OTVOR?

Ty.

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #459 on: 08.12.2011, 20:47:42 »
1.) V hre mam herne menu, ale v scenari, ktory sme odovzdavali, som s tym nepocital, mozem teda pridat do scenara, tlacidlo na spustenie hry?
uspesny scenar nema nic spolocne s uvodnym menu. takze ziadne tlacidlo na spustenie hry nepotrebujes do scenara pridavat. ani pripisovat, ako to vlastne cele spustit a kam kliknut. alebo ako startnut pocitac ;)

2.) Mozem mat v hernom menu ponuku "Nacitaj hru"? Cize ulozenu poziciu bude mozne loadnut iba z herneho menu.
mozes

3.) Ak mam v scenari napriklad takyto prikaz "POUZI CAKAN NA SKALA" je teda mozne, aby som si ten prikaz v scenari upravil len na "POUZI CAKAN". Podobny problem mam aj s truhlickami, pocital som s tym, ze niektore truhlice/krabice uz budu automaticky odomknute, ale aby sme sa dostali k ich obsahu treba zavolat prikaz "PRESKUMAJ TRUHLICA" a az potom sa predmety objavia, mam to riesit pomocou prekrytia, alebo mozem kludne zmenim  v scenary PRESKUMAJ->OTVOR?

tvar prikazu moze byt aj v tvare, ktory pouzivas ty. je to zaujimave rozsirenie navyse.
ak chces "otvorenie" resp. "objavenie" veci vyriesit prikazom preskumaj, kludne mozes. potrebujes ale par riadkov (a mozno aj jedno rozhranie) napisat navyse.
So say we all!

Stardox

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: OOP
« Reply #460 on: 08.12.2011, 21:11:32 »
Vdaka za reply, uvidime ako to pojde s cislom 3.

bEnd3r

  • Full Member
  • ***
  • Posts: 143
    • View Profile
Re: OOP
« Reply #461 on: 08.12.2011, 22:41:25 »
je len taka otazka na mireka.. ak potrebujem zmenit scenar, pretoze som v nom nasiel zopar chyb, co s tym?

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #462 on: 08.12.2011, 22:46:54 »
je len taka otazka na mireka.. ak potrebujem zmenit scenar, pretoze som v nom nasiel zopar chyb, co s tym?
ozvi sa u svojho cviciaceho tak, ako sa aj na tom, co ja chodim, ozyvaju ludia ;)
So say we all!

bEnd3r

  • Full Member
  • ***
  • Posts: 143
    • View Profile
Re: OOP
« Reply #463 on: 08.12.2011, 22:50:04 »
budem to moct zmenit aj tesne pred tym ako odovzdam? su to len take drobnosti..

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #464 on: 08.12.2011, 23:04:42 »
budem to moct zmenit aj tesne pred tym ako odovzdam? su to len take drobnosti..
to ti zhodnoti tvoj naj(ne)oblubenejsi cviciaci
So say we all!

selli1235

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Re: OOP
« Reply #465 on: 09.12.2011, 03:00:03 »
PMD hlasi: Znížte počet: 'if', 'while', 'for', 'case' príkazov v rámci ...
Ja tam ale tie (pravazne) if prikazy potrebujem... co s tym ako?  bu

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #466 on: 09.12.2011, 06:03:54 »
Zníž počet: 'if', 'while', 'for', 'case' príkazov :D Skus si to nejaky inak napisat, vytvorit osobitnu metodu, alebo to nejako rozkuskovat. Ja som sa s tymto stretol uz asi 15x :D Stale mi zacne skubat okom ked vidim tuto chybu. Ale zatial sa mi to stale podarilo opravit. Treba uvazovat, nechat si to ulezat v hlave co vlastne robis, a mozno ta nieco napadne.

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #467 on: 09.12.2011, 15:50:46 »
Zníž počet: 'if', 'while', 'for', 'case' príkazov :D Skus si to nejaky inak napisat, vytvorit osobitnu metodu, alebo to nejako rozkuskovat. Ja som sa s tymto stretol uz asi 15x :D Stale mi zacne skubat okom ked vidim tuto chybu. Ale zatial sa mi to stale podarilo opravit. Treba uvazovat, nechat si to ulezat v hlave co vlastne robis, a mozno ta nieco napadne.
tak tak. vcera som tiez videl kopu ifov na nazvy miestnosti, ktore sa daju v jave 7 nahradit pomocou jedneho switchu alebo v tomto pripade je riesenie este elegantnejsie pomocou hash mapy (slovnika).
So say we all!

halmir

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: OOP
« Reply #468 on: 09.12.2011, 17:56:23 »
zdravím vedel by mi niekto poradiť s touto  chybou ktorú mi hadze PMD-cko
Quote
Buď deklarujte statickú premennú 'historyCommands' ako final, alebo sa vyhnite priradeniu jej hodnoty v konštruktore.

Cici

  • Jr. Member
  • **
  • Posts: 98
    • View Profile
Re: OOP
« Reply #469 on: 09.12.2011, 18:18:49 »
zdravím vedel by mi niekto poradiť s touto  chybou ktorú mi hadze PMD-cko
Quote
Buď deklarujte statickú premennú 'historyCommands' ako final, alebo sa vyhnite priradeniu jej hodnoty v konštruktore.

neviem či správne ale ja som to opravil tak, že som ju pri deklarovaní rovno inicalizoval - nemusím ju mať v konšruktore

selli1235

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Re: OOP
« Reply #470 on: 09.12.2011, 18:24:17 »
Zníž počet: 'if', 'while', 'for', 'case' príkazov :D Skus si to nejaky inak napisat, vytvorit osobitnu metodu, alebo to nejako rozkuskovat. Ja som sa s tymto stretol uz asi 15x :D Stale mi zacne skubat okom ked vidim tuto chybu. Ale zatial sa mi to stale podarilo opravit. Treba uvazovat, nechat si to ulezat v hlave co vlastne robis, a mozno ta nieco napadne.
Rozkuskovanie pomohlo, diki ;)

xxx3

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: OOP
« Reply #471 on: 09.12.2011, 21:23:29 »
poradte prosim ake rozhranie spravit ? ... co robite vy ?

ultimate

  • Sr. Member
  • ****
  • Posts: 337
    • View Profile
Re: OOP
« Reply #472 on: 09.12.2011, 21:39:03 »
tiez by ma zaujimalo ake vlastne rozhranie tam dat ... nic co by malo vyuzitie ma nenapada

ondrei

  • Newbie
  • *
  • Posts: 26
    • View Profile
Re: OOP
« Reply #473 on: 09.12.2011, 22:18:35 »
ja som robil rozhranie Skrytý, ktoré implementuju vsetky predmety ktore niekedy su viditelne a niekedy nie (napr. mec je viditelny az potom co sa odomkne truhlica kde je ulozeny) a zaroven som tak spravil aj to rozsirenie
 -   Implementujte v hre vec, ktorá v sebe môže mať umiestnené ďalšie veci (napr. truhlica, bedňa, taška). Tieto veci sa stanú súčasťou hry (budú viditeľné v miestnosti) až vtedy, keď túto vec otvoríte (kľúčom k bedničke, truhlici alebo kombináciou k trezoru) alebo keď ich preskúmate (po bližšom preskúmaní tašky bude v miestnosti k dispozícii aj jej obsah). Pozor - toto rozšírenie však nie je možné riešiť spôsobom, že po otvorení predmetu obsahujúceho ďalšie predmety budú tieto vytvorené a umiestnené do miestnosti (podobne, ako je to uvedené v cvičení č. 11). Predmety musia byť v kontajneri umiestnené už počas jeho vytvorenia

ondrei

  • Newbie
  • *
  • Posts: 26
    • View Profile
Re: OOP
« Reply #474 on: 09.12.2011, 22:53:05 »
to hej, ale ja som robil prikaz POMOC a tam nepotrebujem nove rozhranie ... preto neviem co take by som mohol spravit ako vlastne rozhranie

Kebyze si tam spravim nejaku postavu do hry, spravim rozhranie Postava ... tak ake  metody by som tam mohol dat ? Kapa vravel, ze talk1 a talk2 ale to mi pride ako blbost :D

staci aj jedna metoda Talk a druha len nejaky getter ci setter ?
podla mna staci. v poziadavkach sa pise, ze dve metody ma mat interface a neni tam povedane ze ake. Ale radsej by som to overil.