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

Objektové programovanie

Started by tino8, 28.09.2009, 05:12:18

« predchdzajce - alie »

Agamemnon

Quote from: dEVIANT on  07.01.2010, 06:14:05
Quote from: Agamemnon on  07.01.2010, 06:05:42
Quote from: dEVIANT on  06.01.2010, 19:41:05
FileStream fileStream = new FileStream(pathName, FileMode.Open);
StreamReader streamReader = new StreamReader(fileStream);
String command;
Clear();
while ((command = streamReader.ReadLine()) != null)
                {
                   list.Add(command);
                }
               
streamReader.Close();
System.Console.WriteLine("Hra bola nacitana!");


Tak dáko...

skús pozrieť direktívu using a interface IDisposable :) užitočné veci

btw - filestream nezatváraš? :)

Kuknem zajtra, teda dneska ale neskorej, teraz by som nepochopil :D...a hej už zatváram :D :D

EDIT: Dig skúsil som, ako rozdiel tam "laicky" neni žiadny, ale čítam, že je "dobrou vizitkou programátora" :D , keď to používa pri práci so súbormi, databázami atď...Môžeš to tak laicky vysvetliť, prečo to je vlastne lepšie? veď GC by to uvolnil z pamäte aj tak nie ??

A ešte k tomu, keď to dám do using tak už tu metódu Dispose() nemusím volať hej? sa zavolá sama?

vola sa sama, nemusis volat ty...

ako - nema to ziaden rozdiel oproti tomu, ze to budes volat rucne :) to je obycajne volanie metody tam... ale nezabudne sa na to :) zvysuje to prehladnost kodu - aspon pre vacsinu ludi, co poznam... a tak podobne...
a casto je dobre zavriet resource explicitne... a napr. ked mas otvoreny velky subor a pod., tak to moze byt problem, ak si ho nezavries tam, kde to tebe vyhovuje, resp. co najskor a pod - resp. ak mas vseobecne otvoreny nejaky stream alebo connection a pod., tak je dobra prax si ho zavriet po sebe :)
All code is crap.

42

tino8

Quote from: citro on  07.01.2010, 06:16:26
Quote
Quote from: citro on  07.01.2010, 05:36:04
ludia... nejde mi to PMD vypisuje mi:

'java' is not recognized as an internal or external command, operable program or batch file

Vie niekto vo co de?  ???

A máš aj JAVU nainštalovanú? nie len netové fazole :D

Instaloval som JDK with NetBeans, v ProgramFiles mam adresar Java v nej jdk1.6.0_17 a jre6 takze myslim ze ano

2tino8: ano zadavam to spravne, dokonca aj ked som uz v pmd/bin a zadam iba pmd tak mi vypise to iste (malo by vypisat ak pmd pouzivat)

skus jdk-4.2.5


karamel je cukr co se uz neuzdravi!

tino8

Mam otazku...

Je mozne ist na skusku z OOP bez toho aby sme mali odovzdane zadanie? Lebo datum prvej skusky je hned tu (13.1) a slubovany termin na odovzdavanie este nikde... (akurat tak Novak a Kapa dali datumy ale iba pre svojich studentov...)

kebyze viem tak odovzdam v 13tom... >:(


karamel je cukr co se uz neuzdravi!

Daron

kedy dal novak termin?? a aky je pri dodatocnom odovzdavani na studentov, ktory si zadanie zadovazili inak, ako vlastnorucne nakodili?? daljme tomu kupili??
Bude ako genci, ze bude mat tazko vpici, alebo bude robit problemy?

tino8

pozri sa na moodli kedy dal termin...


karamel je cukr co se uz neuzdravi!

Daron

a tato otazka??

Quote from: Daron on  08.01.2010, 01:40:32
aky je pri dodatocnom odovzdavani na studentov, ktory si zadanie zadovazili inak, ako vlastnorucne nakodili?? daljme tomu kupili??
Bude ako genci, ze bude mat tazko vpici, alebo bude robit problemy?

citro

Quote from: Daron on  08.01.2010, 02:15:37
a tato otazka??

Quote from: Daron on  08.01.2010, 01:40:32
aky je pri dodatocnom odovzdavani na studentov, ktory si zadanie zadovazili inak, ako vlastnorucne nakodili?? daljme tomu kupili??
Bude ako genci, ze bude mat tazko vpici, alebo bude robit problemy?

nebude genci a poriadne kukni do kodu aby si vedel co to povedat, aspon zaklady

rebro

Quote from: dEVIANT on  06.01.2010, 21:10:01
My točíme o C#  :) ...tam nie je import ale using...a dáva sa tam celý TextGame, alebo celý Hra.items, čo je dosť výhoda, lebo tam nemáš 10 importov jednotlivých predmetov, ale len import priečinku...

Pokial viem tak v jave by to malo byt import Hra.items.* a rovnako to importuje cely balicek itemov :)

dEVIANT

Nechcem byť kurva ale keď to už podľa spraveného kódu neviete vysvetliť ( a na to netreba znalosť OOP ale len angličtiny a trošku google ), tak si trošku vstúpte do svedomia...
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

kubiik

DO NICH! A TVRDOOOOO............  am am

citro

da sa nejak jednoducho vyrobit prikaz VYMEN z uz existujucich prikazov PUT a GET ?
Chcem vymenit item z batohu do miestnosti, za item v miestnosti (ten v miestnosti je odliseny pomocou Changeable)  ???

citro

prosim pekne, kde som urobil chybu? Stale vracia ze sa neda pouzit, teda mam problem v prvej podmienke ale preco?

public GameState use(Game game) {

       
        RoomImpl gamer = (RoomImpl) game.getCurrentRoom();
        Vykres vykres = new Vykres();
        Obraz obraz = new Obraz();



        if (game.getCurrentRoom().getItem(getName())== vykres) {
        game.getBackpack().remove(obraz.getName());
        game.getBackpack().add(vykres);
        game.getCurrentRoom().removeItem(game.getCurrentRoom().getItem(vykres.getName()));

        System.out.println("Dal si mu obraz");
        System.out.println("Dostal si do batohu vykres");
        }
        else {
            System.out.println("Neda sa pouzit!");

        }
        return GameState.PLAYING;
        }
}

Agamemnon

Quote from: citro on  08.01.2010, 07:44:59
da sa nejak jednoducho vyrobit prikaz VYMEN z uz existujucich prikazov PUT a GET ?
Chcem vymenit item z batohu do miestnosti, za item v miestnosti (ten v miestnosti je odliseny pomocou Changeable)  ???

vymen item1 item2 => put item1 + get item2
All code is crap.

42

Agamemnon

Quote from: citro on  08.01.2010, 09:35:35
prosim pekne, kde som urobil chybu? Stale vracia ze sa neda pouzit, teda mam problem v prvej podmienke ale preco?

public GameState use(Game game) {

       
        RoomImpl gamer = (RoomImpl) game.getCurrentRoom();
        Vykres vykres = new Vykres();
        Obraz obraz = new Obraz();



        if (game.getCurrentRoom().getItem(getName())== vykres) {
        game.getBackpack().remove(obraz.getName());
        game.getBackpack().add(vykres);
        game.getCurrentRoom().removeItem(game.getCurrentRoom().getItem(vykres.getName()));

        System.out.println("Dal si mu obraz");
        System.out.println("Dostal si do batohu vykres");
        }
        else {
            System.out.println("Neda sa pouzit!");

        }
        return GameState.PLAYING;
        }
}


to getName co tam mas v tej podmienke ti vrati co? :) si si isty, ze nazov toho objektu, co chces?
takze asi takto - netusim uplne presne, ako je implementovana ta kniznica a pod.:

if (game.getCurrentRoom().getItem(vykres.getName()) != null) { ... }
All code is crap.

42

citro

juhuuuuuuuu, fungujeeeee  bp no nechapem preco ma to nenapadlo...dakujem  :)

mirek

Quote from: dEVIANT on  05.01.2010, 19:42:09
EDIT: Otázka na mireka ešte raz, ako to bude s pomerom príklady/ teória na skúške?a typy otázok? :D

tak pol na pol.
So say we all!

mirek

Quote from: dEVIANT on  06.01.2010, 03:39:45
Quote from: gladiatus on  06.01.2010, 03:24:15
Quote
public Command getCommand(String ret) {                                     
    Command navrat = null;
    for (int i=0; i<list.size(); i++) {

        boolean pravdaOK=ret.startsWith(list.get(i).getName());           
        if (pravdaOK) {                                                     
            History objekt = History.getInstance();
            objekt.addP (ret);
            if(ret.startsWith("PRESKUMAJ")
            || ret.startsWith("POUZI")
            || ret.startsWith("POLOZ")
            || ret.startsWith("VEZMI")
            || ret.startsWith("ULOZ")
            || ret.startsWith("NAHRAJ")
            || ret.startsWith("ROZPRAVAJ"))
            {
                int premennac = list.get(i).getName().length();                         
                param = ret.substring(premennac).trim();                             
                list.get(i).setParams(param);
            }
                navrat = list.get(i);
        }
    }
    return navrat;
}


Toto je moj PARSER........potreboval by som poradiť ako môžem zmeniť to s "ret.startsWith......" lebo mi pritom cez PMD vyhadzuje "Cyclomatic Complexity" skúšal som to už všelijako meniť ale neviem si s tým poradiť   ak:

Tak po prvé...to je môj Parser :D Ktovie ako sa dostal k tebe, síce dosť hier som robil :D:D a oprav to na ...

...dobre vediet, odkial vietor fuka... (alebo len bude fukat? :-P)
So say we all!

mirek

Quote from: dEVIANT on  06.01.2010, 05:34:21
Quote from: calys on  06.01.2010, 05:22:35
ano v pricinku lib mam tu kniznicu....jar a v pricinku bin,kde mam priecinok ten lib mam tu moju hru blabla.jar ktoru spustam
a tsale mi vyhadzuje to java.lang.noclassdeffound........

Ta potom neviem...iď spať, ráno vstaneš a pojde to... 8)

Quote from: Brand on  06.01.2010, 05:29:36
Taaak toto je riadne kruty Parser. dEVIANT, vsak by si ho uz teraz takto, po tych par hrach nerobil :)

Furt ho tak robím...

public Command getCommand(String ret){
         Command navrat = null;
                for(Command command : list)
        {
           
            if(ret.startsWith(command.getName()))
            {
                History historyObjekt = History.getInstance();
                historyObjekt.addP(ret);
                if(ret.startsWith("PRESKUMAJ")
                        || ret.startsWith("POUZI")
                        || ret.startsWith("POLOZ")
                        || ret.startsWith("VEZMI")
                        || ret.startsWith("ULOZ")
                        || ret.startsWith("NAHRAJ"))

                {
                    parameterPrikazu = ret.substring(command.getName().length()).trim();
                    command.setParams(parameterPrikazu);

                }
               
                navrat = command;
                }
          }

        return navrat;
    }

šak pekný je...či vieš o lepšom spôsobe?...

fiha - a ked tam budes mat tych prikazov s parametrom 50? nebolo by lepsie dat prikazom s parametrom nejakym sposobom znacku, ze ho maju? premenna v abstraktnej triede? prazdne rozhranie? ked si sa uz vydal cestou, ze len istej sade prikazov budes podhadzovat dalej parameter...
So say we all!

mirek

Quote from: calys on  06.01.2010, 05:39:20
no mozno aj hej,koho sa spytam nikto nechce pomost ci uz ked som chcela s pmd pomost,nakoniec som to s kamosom nejak upchala do netbeansu a preslo mi to v pohode,ale nejako ludia su neochotni pomost,ale pomoc by chceli vsetci :/ a tebe dakujem za ochotu kiezby to rano slo....a sak binas si to nespusti aj sam?>

nebude - on je na to moc lenivy. aj vlani som musel robit vsetko pred nim sam... :-(
So say we all!

mirek

Quote from: gabikke on  06.01.2010, 16:06:49
public void load(String path) throws FileNotFoundException, IOException {
   BufferedReader in = new BufferedReader(new FileReader(path));
   list.clear();
   String line;
   while ((line = in.readLine()) != null) {
   list.add(line);
   }

in.close();
}

PLS vie mi to niekto prerobit do C#? prosiiiiim  bu

a preco? sak metoda Load() je uz implementovana. na co ju chces robit znova?
So say we all!

mirek

Quote from: dEVIANT on  06.01.2010, 21:10:01
Quote from: tino8 on  06.01.2010, 21:07:07
netusim o com tocite...
nemate na mysli import TextGame.LibraryMethods;  ?

a pouzitie je tak jednoduche:  LibraryMethods.save(commands, path);
pricom treba vychytat exception

My točíme o C#  :) ...tam nie je import ale using...a dáva sa tam celý TextGame, alebo celý Hra.items, čo je dosť výhoda, lebo tam nemáš 10 importov jednotlivých predmetov, ale len import priečinku...

v jave sa da zapisat napriklad aj toto:
import commands.*;

a hadam netreba rozpitvavat, ze aky je toho zapisu vyznam...
So say we all!

mirek

Quote from: tino8 on  07.01.2010, 15:59:32
Quote from: citro on  07.01.2010, 06:16:26
Quote
Quote from: citro on  07.01.2010, 05:36:04
ludia... nejde mi to PMD vypisuje mi:

'java' is not recognized as an internal or external command, operable program or batch file

Vie niekto vo co de?  ???

A máš aj JAVU nainštalovanú? nie len netové fazole :D

Instaloval som JDK with NetBeans, v ProgramFiles mam adresar Java v nej jdk1.6.0_17 a jre6 takze myslim ze ano

2tino8: ano zadavam to spravne, dokonca aj ked som uz v pmd/bin a zadam iba pmd tak mi vypise to iste (malo by vypisat ak pmd pouzivat)

skus jdk-4.2.5

to mu asi nepomoze. nema nastavenu cestu ku jave, aby ju mohol volne spustit z prikazoveho riadku. joj deti...
So say we all!

mirek

Quote from: Daron on  08.01.2010, 01:40:32
kedy dal novak termin?? a aky je pri dodatocnom odovzdavani na studentov, ktory si zadanie zadovazili inak, ako vlastnorucne nakodili?? daljme tomu kupili??
Bude ako genci, ze bude mat tazko vpici, alebo bude robit problemy?
taki studenti si to zopakuju na rok. ako ja :-(
So say we all!

mirek

Quote from: citro on  08.01.2010, 17:39:41
juhuuuuuuuu, fungujeeeee  bp no nechapem preco ma to nenapadlo...dakujem  :)

tusim preto, lebo si to asi chcel povodne porovnavat s nazvom predmetu a nie s referenciou na predmet. nuz - myslienka bola sice spravna, ale...
So say we all!

dEVIANT

Quote from: mirek on  08.01.2010, 19:38:01

fiha - a ked tam budes mat tych prikazov s parametrom 50? nebolo by lepsie dat prikazom s parametrom nejakym sposobom znacku, ze ho maju? premenna v abstraktnej triede? prazdne rozhranie? ked si sa uz vydal cestou, ze len istej sade prikazov budes podhadzovat dalej parameter...

Dobrý nápad to s tým rozhraním, ale nezaoberal som sa tým, keďže tam 50 príkazov nie je :-P...keby bolo, tak potom by som to riešil určite nejako ináč, možno aj polom tých príkazov a metódou, ktorá zisti, č itam ten príkaz je. No ale rozhraním to je jednoduchšie to hej.

Quote from: mirek on  08.01.2010, 19:34:28
...dobre vediet, odkial vietor fuka... (alebo len bude fukat? :-P)

Neviem, či už aj fúkal...ale u dosť ľudí som ho videl, napríklad aj u tých s ktorými nič nemám, akurát na tomto sú ešte aj premenné a metódy také ako mám ja, tak preto viem, že je môj :D
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.