Author Topic: Objektové programovanie  (Read 141184 times)

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektové programovanie
« Reply #500 on: 07.01.2010, 14:38:06 »
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

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: Objektové programovanie
« Reply #501 on: 07.01.2010, 15:59:32 »
Quote
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

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: Objektové programovanie
« Reply #502 on: 08.01.2010, 00:28:51 »
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

  • Full Member
  • ***
  • Posts: 166
    • View Profile
Re: Objektové programovanie
« Reply #503 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?

tino8

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: Objektové programovanie
« Reply #504 on: 08.01.2010, 01:47:34 »
pozri sa na moodli kedy dal termin...


karamel je cukr co se uz neuzdravi!

Daron

  • Full Member
  • ***
  • Posts: 166
    • View Profile
Re: Objektové programovanie
« Reply #505 on: 08.01.2010, 02:15:37 »
a tato otazka??

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

  • Full Member
  • ***
  • Posts: 207
    • View Profile
Re: Objektové programovanie
« Reply #506 on: 08.01.2010, 02:39:01 »
a tato otazka??

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

  • Newbie
  • *
  • Posts: 35
    • View Profile
Re: Objektové programovanie
« Reply #507 on: 08.01.2010, 04:35:25 »
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

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: Objektové programovanie
« Reply #508 on: 08.01.2010, 04:36:40 »
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

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Objektové programovanie
« Reply #509 on: 08.01.2010, 05:41:22 »
DO NICH! A TVRDOOOOO............  am am

citro

  • Full Member
  • ***
  • Posts: 207
    • View Profile
Re: Objektové programovanie
« Reply #510 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)  ???

citro

  • Full Member
  • ***
  • Posts: 207
    • View Profile
Re: Objektové programovanie
« Reply #511 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?

Code: [Select]
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

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektové programovanie
« Reply #512 on: 08.01.2010, 14:54:23 »
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

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektové programovanie
« Reply #513 on: 08.01.2010, 14:58:17 »
prosim pekne, kde som urobil chybu? Stale vracia ze sa neda pouzit, teda mam problem v prvej podmienke ale preco?

Code: [Select]
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.:
Code: [Select]
if (game.getCurrentRoom().getItem(vykres.getName()) != null) { ... }
All code is crap.

42

citro

  • Full Member
  • ***
  • Posts: 207
    • View Profile
Re: Objektové programovanie
« Reply #514 on: 08.01.2010, 17:39:41 »
juhuuuuuuuu, fungujeeeee  bp no nechapem preco ma to nenapadlo...dakujem  :)

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #515 on: 08.01.2010, 19:26:00 »
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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #516 on: 08.01.2010, 19:34:28 »
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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #517 on: 08.01.2010, 19:38:01 »
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)

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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #518 on: 08.01.2010, 19:38:31 »
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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #519 on: 08.01.2010, 19:40:45 »
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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #520 on: 08.01.2010, 19:44:26 »
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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #521 on: 08.01.2010, 19:49:30 »
Quote
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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #522 on: 08.01.2010, 19:50:47 »
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

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #523 on: 08.01.2010, 19:54:54 »
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

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: Objektové programovanie
« Reply #524 on: 08.01.2010, 20:26:28 »

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.

...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.