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

Zobrazi� pr�spevky

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Zobrazi� pr�spevky Menu

Messages - Agamemnon

#176
2. ročník / Re: OOP
01.02.2012, 20:37:13
čoooo? java má fieldy v interfaceoch? to je čo za nezmysel
#177
O ničom / Re: Protest Gorila v KE
31.01.2012, 22:22:15
Quote from: Ing. nemtom on  31.01.2012, 22:16:55
jeden hej ale to sem nepatri :)

jj, oka :D
#178
O ničom / Re: Protest Gorila v KE
31.01.2012, 18:51:25
Quote from: Ing. nemtom on  30.01.2012, 19:29:02
Quote from: Safyia on  30.01.2012, 14:45:43
Nevymyslaj! pod a potom pojdeme na pivo :D:D

Uz je prihlasenych kolo 3000 ludi

hej na to pivo uz pojdem, dufam ze myslis hento z mailinglistu :)

máte mailinglist? :D
#179
na terase su aj teraz
#180
Quote from: Havran on  27.01.2012, 02:13:49
Quote from: Johny Bravo on  27.01.2012, 01:12:21
ahojte

neviete nahodou co sa stalo s cinskou restikou 'mandarin' na hlavnej?


vieme, presunula sa na terasu oproti galerii

nie...
oni boli chvilu na oboch miestach
#181
2. ročník / Re: OOP
23.01.2012, 21:23:29
Quote from: sulo on  23.01.2012, 21:15:25
Quote
a este som sa niekde docital ze existuje taka kolekcia, nieco ako ten arraylist, ale proste sa tam len jedno pole pouziva, ze sa nekopiruje do dalsieho, a objekt sa vklada vydy na koniec toho pola .. nevie niekto ako sa vola, lebo ani za .... to teraz neviem najst

Existuje ešte LinkedList, ktorý síce vkladá na začiatok/koniec v konštantnom čase, ale výber alebo vloženie kdesi do stredu má lineárnu časovú zložitosť vzhľadom na počet prvkov, čiže treba zvážiť, či sa to oplatí. ArrayList je vhodnejší na drvivú väčšinu vecí.

on sa pýtal na niečo iné, nie?
inak tých rôznych listov existuje viacero ako len tieto 2...
plus bude množstvo implementácií od tretích strán podľa konkrétnych potrieb (však stačí len implementovať rozhranie)
#182
2. ročník / Re: OOP
23.01.2012, 18:07:29
závisí od jazyka, konkrétnej implementácie kolekcie, etc...
ale v podstate je to tak, ako píšeš...

toto
arrayList<String> list= new arrayList<String>();
vytvorí nejaké malé pole na začiatku... netuším koľko je to v jave :) c# to mal myslím 4... ale to je len veľmi matná spomienka, takže ten počet môže byť kľudne iný... už to bolo dávno...

teoreticky môže existovať kolekcia, ktorá sa bude zväčšovať, kým môže... ak ju niekto napísal :) netuším, či taká je...

btw - pre c#... podstatné je, že aj kolekcie, aj polia implementujú IEnumerable rozhranie... :) netuším, či aj v jave niečo také je :)
#184
2. ročník / Re: OOP
17.01.2012, 09:41:01
tie zadania su rovnake... to, ze mas poskladat nieco s nazvom snajperka, alebo s nazvom drak a mec... je to iste... ci tam niekde urobis new/add alebo remove... tak to je fakt obrovsky rozdiel... navyse... takychto "roznych variacii" je miliony a miliony... takze ci to budete riesit tu alebo inde, mate jedno...
#185
2. ročník / Re: OOP - "spešl zadanie"
11.01.2012, 15:56:08
override dokumentuj vtedy, ak menia vyrazne to, co sa predpoklada, ze by mali robit... urcite to nebude casto, ale obcas sa to moze stat...
#186
2. ročník / Re: OOP
06.01.2012, 19:10:39
Quote from: charlie on  06.01.2012, 18:19:53
cawte, vie niekto ako mozem pozmenit nazov itemu ak pouzivam dedenie?

public class keksa extends AbstractItem{
   
         public keksa(){
              super("nazov", "popis");
}


by som tu rad pouzil premmenu a cez opdmienky to pomenil, ale mi to nefacha. neviete ako to obist? lebo nechcem vytvarat zbytocne dalsie itemy, ked nemusim.

nechápem úplne, čo chceš, podľa toho, čo si napísal...

ale zmeniť názov môžeš napr. takto:


public keksa(nazov) {
  super(nazov);
}
#187
2. ročník / Re: OOP
06.01.2012, 00:06:10
Quote from: matus217 on  06.01.2012, 00:05:22ta nova java hlasi ze staci prazdny diamond

na také nezmysly si nezvykajte
#188
1. ročník / Re: putty
27.12.2011, 20:55:35
musíš ho uploadnúť na server prv... najskôr cez winscp... potom ho spustíš cez putty... ak je to windowsácke .exe, tak ho na linuxe nespustíš... budeš musieť znovu prekompilovať na linuxe

vykonanie programu v linuxe v shelli je:

./meno_programu
#189
2. ročník / Re: OOP - "spešl zadanie"
26.12.2011, 01:42:16
Quote from: mino on  26.12.2011, 00:19:06(Ja viem, ak by som bol perfekcionista, tak nepouzijem v kode ani jedno konkretne cislo/retazec a vsetko budu vopred deklarovane konstatny, ale kto ide az do takeho extremu...)

ja to robím bežne... takisto aj kolegovia v práci... je to dobrý zvyk a zvyšuje to výrazne čitateľnosť kódu

Quote
- PMD pravidla su IMHO nedomyslene napr. v pripade, ked pouzijem premennu len v 1 funkcii. PMD hlasi, ze si ju mam dat ako lokalnu premennu funkcie. Z hladiska viditelnosti je to OK, preco by mala byt viditelna v celej triede, ale z hladiska zivotnosti: co ak potrebujem, aby si premenna zachovala hodnotu medzi 2 volaniami tej funkcie? Vo VB sa dala vytvorit pre takyto ucel staticka premenna vnutri metody, v Jave sa to neda. Ako inak to mam riesit, ked nie tak, ze si tu premennu vyberiem von z funkcie? Mam teraz vymyslat nejake "hacky" a umele metody, len aby ta premenna bola aj v inej funkcii, aby mi to preslo kontrolou?

to si riešil okej... to je nie úplne naj pravidlo v rulesete...
inak dá sa to urobiť ako napr. inout parameter metódy - a je to pomerne elegantné a jednoduché...
potom si viem predstaviť ešte niekoľko workaroundov okolo toho :D zbytočne zložité

edit:
okej, vygooglil som, že java nemá niečo také, ako predávanie parametrov metódy ako referencia (na rozdiel napr. od c#)... takže tú moju vetu o argumentoch metódy môžeš zabudnúť :)
#190
O ničom / Re: merry xmas
24.12.2011, 17:04:00
hh
#191
2. ročník / Re: OOP
21.12.2011, 02:01:25
odhadom... nemáš ten súbor vytvárať... pretože tak, ako ho ty vytvoríš, tak súbor ostane otvorený, a potom tá metóda save z LibraryMethods, keď sa ho pokúsi vytvoriť znovu, tak nemá šancu... nie je to síce v javadoc špecifikované, ale tak nejak to z toho, čo tam je napísané, vyplýva...
pastni akú ti to píše exception... keď už tam máš ten výpis chyby urobený

btw... handling resources... každý súbor, ktorý otvoríš, máš za sebou aj zavrieť...
#192
2. ročník / Re: OOP
21.12.2011, 00:00:54
Quote from: NightWalker on  20.12.2011, 22:42:03
neviete niekto poradit so save() ??? vytvorim si subor,ale z history mi don nezapise nic

tak niečo robíš zle...












-------

pastni kód, napíš čo robíš, etc... si myslíš, že viem čítať myšlienky alebo kód bez toho, aby som ho videl?
#193
2. ročník / Re: OOP - "spešl zadanie"
20.12.2011, 14:06:54
Quote from: Domino_666 on  20.12.2011, 07:14:32
ďakujem, odteraz považujem debugger za svätý, mal som tam nechtiac votretú "večnú pravdu", teda pri každom prejdení cyklu sa vytvoril nový Fred. Podľa debuggera sa ich vytvorilo cez 2800  ;D (a to som mal v pláne vytvoriť len singleplayer hru  ;D)
každopádne už mi to ide, dík za rady  :thumbs-up:
jj, debugger vie dost pomoct :)
#194
2. ročník / Re: OOP
20.12.2011, 04:13:15
Quote from: Eriik on  20.12.2011, 03:29:33
QuoteMetóda obsahuje viac ako 99 príkazov. Skúste redukovať jej veľkosť vytvorením pomocných metód.
Je to vážne nutné ? nechce sa mi teraz prerábať celú metódu createRooms() ...

však len zober skupinu príkazov, ktorá robí nejakú zmysluplnú vec a exportni ich do zvláštnej metódy... ja nvm... createRoomsInFirstBuilding...
#195
2. ročník / Re: OOP
20.12.2011, 02:48:46
Quote from: esperian on  20.12.2011, 02:47:01
ahojte, tak trocha sa bavkam v jave a chcel by som sa spytat mozno niekto skusal nieco podobne.. nasiel som kniznicu java.util.Calendar; no a teraz by som chcel spravit nieco take, ze získam si koľko je práve sekúnd int sec=cal.get(Calendar.SECOND); , no a teraz by som chcel aby sa mi ten cas prekresloval na výstupe .. ze 8 potom by tam bolo 9 ..10.. atd.. len neviem ci to je aj realne s mojimi znalostami, ale tak aspon skusam xDDD


http://docs.oracle.com/javase/1.3/docs/api/java/util/Timer.html
#196
2. ročník / Re: OOP
19.12.2011, 17:03:20
Quote from: zaky on  19.12.2011, 08:26:19
zdar, mam pruser, mam vela prikazov ktore mozu nieco robit s predmetmi, to znamena ze ak zistujem co je na vstupe mam dost dlhy if (param.startsWith("oslov")||param.startsWith("sprav si")||param.startsWith("hod")) atd.. a teraz mi pmd stale vypisuje chybu ze
Znížte počet: 'if', 'while', 'for', 'case' príkazov v rámci 'method processCommand' (zložitosť je 11 z 10).
co s tym ? neviem ci toto mu vadi ze mam vela moznych prikazov ale skusil som zmazat 2 prikazy a uz mi tu chybu nevypisovalo, jak to mam obist? nemozem 2 prikazy vynechat, potrebujem ich :/
skuste mi helfnut

vadi mu, ze mas vela if-ov... ti to tam aj pise...
urob mensi pocet ifov... pripadne pastni kod a mozno ti poradim, ze ako
#197
2. ročník / Re: OOP - "spešl zadanie"
19.12.2011, 07:06:42
Quote from: Domino_666 on  19.12.2011, 05:17:02
@Agamemnon
Ako myslíš tie premenné? Asi sa nechápeme. Chcel som to spraviť tak, že na začiatku sa vytvorí nová inštancia triedy level, viac menej ten bude všetko riadiť ďalej takto:
-v konštruktore načítam mapu, prejdem celú mapu a keď nájde na mape nejaký item/nepriateľa/freda, pridá ho do generického zoznamu Actorov - Actor je interface, ktorý implementujú 2 abs. triedy: Character (fred, nepriateľa) a Item (hviezdy elixíry...) - viac menej takto to bolo načrtnuté v scenároch, akurát batoh mám myslím trocha inak, resp. zo scenárov som nepochopil ako to celkovo bolo myslené, ale funguje mi to v pohode :)
-v update metóde hry sa updatne len samotný level, čo v princípe znamená toľko, že prejde celým tým generickým poľom (v ktorom už má všetky predmety, postavy...) a každú z nich updatne (ak je čo updatnúť, to už riadia metódy na všetko prakticky zvlášť)
-v render metóda funguje rovnako, akurát sa ale nič neupdatuje, ale už len zobrazí
spomínal si nejakú pomocnú boolean premennú - ja som o tých hovoril - aby si to nemusel písať manuálne, tak si urob dictionary na to... alebo to daj priamo do triedy Item alebo ako sa volá

problém pre mňa je, že netuším, ako sa správajú tie ďalšie metódy - napr. getTile, getTileProp etc...

inak - podľa toho, čo si napísal... tak len vyskoč z cyklu, keď nájdeš tú postavu, čo hľadáš... (dá sa to pochopiť viacerými spôsobmi, čo si písal... takže toto nemusí byť dobré riešenie)

Quote
Pozrel som cez task managera a niekde sa to zahlcuje:
-ak nechám prejsť celú mapu ale nevytvorím tie inštancie predmetov (zakomentoval som tú časť) tak mi cez task manager vo wine píše okolo 100Mb pamäte
-ak nechám celý kód ako by mal byť aj s tými novými inštanciami, tak to presahuje 400mb pamäte
???

niekde sa ti to zacyklí a vytvárajú sa ti nejaké nové premenné... niečo také... tak či tak je to zlé...


moja hlavná rada:
zober debugger, daj si tam breakpoint pred ten cyklus a prejdi si to pomocou neho... sleduj kam ide tok programu, a aké hodnoty majú premenné - či nadobúdajú také hodnoty ako očakávaš... imo rýchlo nájdeš, kde je problém a čo presne sa deje...
#198
2. ročník / Re: OOP - "spešl zadanie"
19.12.2011, 04:26:45
Quote from: Domino_666 on  19.12.2011, 03:12:39
V tomto konkrétnom prípade som skúsil spraviť pomocnú premennú boolean, do ktorej som uložil informáciu o tom, či už našlo hráča a ak bolo true, tak z metódy vyskočil. Toto už šlo krásne plynulo, bez poklesu fps či iných vedľajších efektov. Problémom ale je, že rovnako chcem postupovať aj s ostatnými predmetmi (hviezdy, kľúče, elixíry...) a vtedy už mi pomocné premenné budú na nič, resp. tak či by som ich musel manuálne písať do kódu a teda keď tak ich už radšej nepridávať z mapy ale vytvoriť ich inštancie v kóde. Ale tomu sa chcem vyhnúť.

žiadne manuálne písanie...
- dictionary na premenné
- pridaj premenné ako instance field tým predmetom

so zvyškom ti nepomôžem, lebo tie metódy nepoznám a nvm, čo robia vo vnútri...
btw... fred nepotrebuje vedieť na akej je vrstve?
#199
2. ročník / Re: OOP - "spešl zadanie"
17.12.2011, 18:12:08
1. pastujte chyby a exceptions presne... inak môžem max. tak hádať :P
2. naučte sa čítať exceptions... null pointer exception znamená presne to, čo tam píše a nemá to nič spoločné s typom... a nie, nepíše ti to preto, že ti tam nesedia typy... ak máš fakt túto exception, tak niektorý z objektov nie je vytvorený a máš tam null...
3. naučte sa používať debugger... toto je vec, ktorá sa v debuggeri vyrieši za 10s...
4. to pretypovanie tam nepotrebuješ, ak trieda Key dedí od Item (v takom prípade platí, že "key instanceof Item" je true)... potom aj volanie adItem metódy, aj volanie add metódy na ArrayListom je korektné

edit:
Quote
použil som na to metódu gc.getTime();
dúfam, že gc neznamená garbage collector... ale niečo ako game context alebo tak...
#200
2. ročník / Re: OOP - "spešl zadanie"
16.12.2011, 16:27:34
viem ti z hlavy povedat, ako to urobit v c#...

takze predpokladam, ze nieco take bude mat aj java... len musis pozriet javadoc... hladaj nieco ako Timer... alebo potom pripadne pusti nejaky Thread alebo BackgroundWorker a napis si vlastny Timer, ktory bude bezat v tom vlakne...

potom pozor na volania medzi threadmi... ako na citanie, tak na zapis... lockuj premenne, ak je to potrebne...