Author Topic: Objektové programovanie  (Read 141304 times)

dEVIANT

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: Objektové programovanie
« Reply #550 on: 10.01.2010, 03:13:32 »
Nechápem prečo ti to nejde, veď to máš 100 percentne dobre !!! :D
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

Buici

  • Newbie
  • *
  • Posts: 31
    • View Profile
Re: Objektové programovanie
« Reply #551 on: 10.01.2010, 03:35:11 »
no niekde chyba bude lebo mne to nejde..... v kom v com moze este byt ta chyba????

dEVIANT

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: Objektové programovanie
« Reply #552 on: 10.01.2010, 03:39:02 »
no niekde chyba bude lebo mne to nejde..... v kom v com moze este byt ta chyba????

Ja by som ti aj povedal...ale to je taká hlúpa chyba, že by si sa cítil veľmi hlúpo  :D

Tie ostatné metódy z Jones knižnice si tam tiež len tak hodil ako to "LibraryMethods.save(this.list, path);"...Netreba to náhodou nakodiť? A nemá náhodou Historia implementovať tie LibraryMethods ?  bk
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

citro

  • Full Member
  • ***
  • Posts: 207
    • View Profile
Re: Objektové programovanie
« Reply #553 on: 10.01.2010, 04:50:41 »
ako rozsirenie hry staci ked mam v hre osoby, da sa s nimi pokecat, pri dobrej odpovedi daju predmet, alebo ak im dam predmet tak mi daju iny? ta vymena ale nema samostatny prikaz je realizovana cez "pouzi"

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektové programovanie
« Reply #554 on: 10.01.2010, 07:00:07 »
no niekde chyba bude lebo mne to nejde..... v kom v com moze este byt ta chyba????

Ja by som ti aj povedal...ale to je taká hlúpa chyba, že by si sa cítil veľmi hlúpo  :D

Tie ostatné metódy z Jones knižnice si tam tiež len tak hodil ako to "LibraryMethods.save(this.list, path);"...Netreba to náhodou nakodiť? A nemá náhodou Historia implementovať tie LibraryMethods ?  bk

prečo by History mala implementovať LibraryMethods? to je imo nezmysel...
LibraryMethods obsahuje hotové implementácie Load a Save - minimálne verzia pre c#, a neverím, že verzia pre javu je iná...
All code is crap.

42

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Objektové programovanie
« Reply #555 on: 10.01.2010, 07:05:37 »
no niekde chyba bude lebo mne to nejde..... v kom v com moze este byt ta chyba????

ako vykonávaš príkazy po naloadovaní?
All code is crap.

42

dEVIANT

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: Objektové programovanie
« Reply #556 on: 10.01.2010, 08:21:50 »
no niekde chyba bude lebo mne to nejde..... v kom v com moze este byt ta chyba????

Ja by som ti aj povedal...ale to je taká hlúpa chyba, že by si sa cítil veľmi hlúpo  :D

Tie ostatné metódy z Jones knižnice si tam tiež len tak hodil ako to "LibraryMethods.save(this.list, path);"...Netreba to náhodou nakodiť? A nemá náhodou Historia implementovať tie LibraryMethods ?  bk

prečo by History mala implementovať LibraryMethods? to je imo nezmysel...
LibraryMethods obsahuje hotové implementácie Load a Save - minimálne verzia pre c#, a neverím, že verzia pre javu je iná...

Hmm dobré vedieť...skoro :/ :D
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

tino8

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: Objektové programovanie
« Reply #557 on: 10.01.2010, 14:58:55 »
a ostatne prikazy funguju iba Quit nie? Pri Quit sa mas dostat s5 do uvodneho menu, takze ak vytvaras v prikazy quit nove menu asi to nemoze nefungovat


karamel je cukr co se uz neuzdravi!

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #558 on: 10.01.2010, 19:12:59 »
ako rozsirenie hry staci ked mam v hre osoby, da sa s nimi pokecat, pri dobrej odpovedi daju predmet, alebo ak im dam predmet tak mi daju iny? ta vymena ale nema samostatny prikaz je realizovana cez "pouzi"

ano - staci, ak na pokecanie sa pouziva specialny prikaz, predmety (itemy), s ktorymi sa da pokecat, su nejako specialne oznacene (rozhranim? premennou? metodou?) a nie je to len o tom, ze po zadani prikazu pouzi sa na obrazovke objavi spominany dialog a pouzije sa vec - toto nie je rozsirenie.
So say we all!

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #559 on: 10.01.2010, 19:14:34 »
kod history
Code: [Select]
public class History {
    private static History history;
    private ArrayList<String> list;

    public static History getInstance(){
        if( history == null ){
            history = new History();
        }

        return history;
    }

    private History(){
        this.list = new ArrayList<String>();
    }

    public void add( String line ){
        this.list.add(line);
    }

    public void clear(){
        this.list.clear();
    }

    public void save( String path ) throws IOException{
        LibraryMethods.save(this.list, path);
    }

    public void load( String path ) throws FileNotFoundException, IOException{
        this.list = LibraryMethods.load(path);
    }

    public int size(){
        return this.list.size();
    }

    public String get( int index ){
        return this.list.get(index);
    }

}

ak treba nieco zmenit v LOAD tak tu je kod neviem kde by to mohlo byt

Code: [Select]
public class Load implements Command{
    private String params;

    public GameState execute(Game game) {
        if( this.params == null || this.params.isEmpty() ){
            this.params = "history";
        }

        History history = History.getInstance();
        try {
            history.load(params.toLowerCase());
        } catch (FileNotFoundException ex) {
            System.out.println(ex.getMessage());
            return GameState.PLAYING;
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
            return GameState.PLAYING;
        }

        return GameState.LOADEDPOSITION;
    }

    public void setParams(String params) {
        this.params = params;
    }

    public String getParams() {
        return this.params;
    }

    public String getName() {
        return "NAHRAJ";
    }

    public String getDescription() {
        return "Prikaz nahra ulozeny stav hry z disku";
    }

}

nuz - poslal si sice vsetko mozne, ale to podstatne veru nie. preskumame pri odovzdavani, ze kde je chyba ;) inac - veeeelmi pomaha projekt krokovat pri vykonavani... (debug)
So say we all!

Dakota

  • Newbie
  • *
  • Posts: 31
    • View Profile
Re: Objektové programovanie
« Reply #560 on: 10.01.2010, 19:14:57 »
Prosim napiste ci je potrebne so zadanim odovzdat aj vsetky tie unit testy, respektive nestaci ten unit test pre parser?

SM

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Objektové programovanie
« Reply #561 on: 10.01.2010, 19:15:44 »
Ako to je s tymi unit testami? Staci mat unit test pre parser, alebo aj pre ostatne triedy?

citro

  • Full Member
  • ***
  • Posts: 207
    • View Profile
Re: Objektové programovanie
« Reply #562 on: 10.01.2010, 19:48:23 »
ako rozsirenie hry staci ked mam v hre osoby, da sa s nimi pokecat, pri dobrej odpovedi daju predmet, alebo ak im dam predmet tak mi daju iny? ta vymena ale nema samostatny prikaz je realizovana cez "pouzi"

ano - staci, ak na pokecanie sa pouziva specialny prikaz, predmety (itemy), s ktorymi sa da pokecat, su nejako specialne oznacene (rozhranim? premennou? metodou?) a nie je to len o tom, ze po zadani prikazu pouzi sa na obrazovke objavi spominany dialog a pouzije sa vec - toto nie je rozsirenie.

dakujem

zoro11

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Objektové programovanie
« Reply #563 on: 10.01.2010, 20:25:09 »
Zdravim Ludia poradil by mi niekto s tymi Unit testami? ako to ma vlastne byt? Neviem si  s tym rady

Dakota

  • Newbie
  • *
  • Posts: 31
    • View Profile
Re: Objektové programovanie
« Reply #564 on: 10.01.2010, 20:35:20 »
Ked mi nikto nevie dat odpoved ci su potrebne tie unit testy tak som ich zacal robit...Skoncil som ale pri teste GameImpltest. Chcem sa opytat ako treba testovat tuto triedu? Pretoze ak tam zacnem volat metodu play(); tak to skonci nullom pre line, pretoze tato metoda ocakava vstup a ja mu ho neviem ako dat...

Vedel by mi niekto poradit???

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #565 on: 10.01.2010, 20:40:16 »
Ked mi nikto nevie dat odpoved ci su potrebne tie unit testy tak som ich zacal robit...Skoncil som ale pri teste GameImpltest. Chcem sa opytat ako treba testovat tuto triedu? Pretoze ak tam zacnem volat metodu play(); tak to skonci nullom pre line, pretoze tato metoda ocakava vstup a ja mu ho neviem ako dat...

Vedel by mi niekto poradit???

tento unit test nerob - ten netreba. zamer bol, ale nezdaril sa :-(
So say we all!

SM

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Objektové programovanie
« Reply #566 on: 10.01.2010, 21:34:32 »
Musi aj unit test parsera byt podla pravidiel pre PMD?
nemozem sa totiz zbavit chyby Avoid catching NullPointerException; consider removing the cause of the NPE

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: Objektové programovanie
« Reply #567 on: 10.01.2010, 21:41:36 »
Musi aj unit test parsera byt podla pravidiel pre PMD?
nemozem sa totiz zbavit chyby Avoid catching NullPointerException; consider removing the cause of the NPE

samozrejme
So say we all!

Dakota

  • Newbie
  • *
  • Posts: 31
    • View Profile
Re: Objektové programovanie
« Reply #568 on: 10.01.2010, 21:46:41 »
ako je mozne ze v mojej hre, sa stava nieco take:

Ked zoberem predmet "OBLEK" tak po tom co zadam prikaz "POUZI" bez parametrov tak chce automaticky pouzit tento oblek, pri inych predmetoch to nerobi, len pri tom obleku

A dalsia vec mam prikazy "ZAPNI", "VYPNI" ktore su uplne zhodne zmena je len v nazve prikazu...tak ked vojdem do jednej miestnosti a napisem prikaz ZAPNI bez parametrov tam mi to ukonci hru s chybou NullPointerExeption a ked napisem prikaz VYPNI bez parametrov tak to takto nespravy.

Dufam ze na vlastne rozhranie bude stacit ci je predmet zapnutelny/vypnutelny (napriklad kamery, elektricky vypinac)
to rozhranie dedi rozhranie Useable

dEVIANT

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: Objektové programovanie
« Reply #569 on: 10.01.2010, 22:03:03 »
ako je mozne ze v mojej hre, sa stava nieco take:

Ked zoberem predmet "OBLEK" tak po tom co zadam prikaz "POUZI" bez parametrov tak chce automaticky pouzit tento oblek, pri inych predmetoch to nerobi, len pri tom obleku

A dalsia vec mam prikazy "ZAPNI", "VYPNI" ktore su uplne zhodne zmena je len v nazve prikazu...tak ked vojdem do jednej miestnosti a napisem prikaz ZAPNI bez parametrov tam mi to ukonci hru s chybou NullPointerExeption a ked napisem prikaz VYPNI bez parametrov tak to takto nespravy.

Dufam ze na vlastne rozhranie bude stacit ci je predmet zapnutelny/vypnutelny (napriklad kamery, elektricky vypinac)
to rozhranie dedi rozhranie Useable

Pokukaj tie riadky, kde píše tú chybu...väčšinou sa to z toho dá vyjsť. Alebo tu hoď zdrojáky...k tomu obleku by tiež mohol kuk do zdrojáku...
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

Dakota

  • Newbie
  • *
  • Posts: 31
    • View Profile
Re: Objektové programovanie
« Reply #570 on: 10.01.2010, 22:07:21 »
Ten oblek asi budem mat chybu, momentalne riesim, ked sa nepohnem tak ukazem zdrojak...ale aj tak nechapem, ze ked nezadam prikazu pouzi parameter (tak to mam definovane) tak vypise ze ziadny predmet tu nevidi. Nikde v zdrojaku pouzi nemam definovanu funkciu ktora by sa odkazovala na ten oblek...

Ale akoze nechapem tie prikazy VYPNI/ZAPNI, zdrojaky su uplne rozvnake, jedine meno triedy je ine a aj ine meno sa vracia a prikaz ZAPNI robi problemy a prikaz VYPNI nerobi...

Zdrojak prikazu ZAPNI:
Code: [Select]
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package commands;

import items.TurnOnTurnOff;
import TextGame.Command;
import TextGame.Game;
import TextGame.GameState;
import TextGame.Item;

/**
 *
 * @author FL
 */
/**
 * Tato trieda predstavuje prikaz ZAPNI
 */
public class TurnOn extends AbstractCommand implements Command {
    /**
     * Tato premena sluzi pre zavolanie predmetu, bud z miestnosti alebo batohu a nasledne na jeho zapnutie
     */
    TurnOnTurnOff item;
    /**
     * Tato metoda vykonava prikaz ZAPNI tak ze zavola predmet bud z batohu alebo z miestnosti a nasledne ho pouzije
     * Ak sa predmet nikde nenachada tak sa vypise chybova hlaska
     */
    public GameState execute(Game game) {
        Item temp = game.getCurrentRoom().getItem(parameters);
        Item temp2 = null;
        if(game.getBackpack().size()>0){
            temp2 = game.getBackpack().getItem(parameters);
        }

        if((temp != null) || (temp2 != null)){
            if((temp instanceof TurnOnTurnOff) || (temp2 instanceof TurnOnTurnOff)){

                if(temp != null){
                    item = (TurnOnTurnOff) game.getCurrentRoom().getItem(parameters);
                }
                if(temp2 != null){
                    item = (TurnOnTurnOff) game.getBackpack().getItem(parameters);
                }
                item.use(game);
            }
            else {
                System.out.println("Tento predmet sa neda zapnut");
            }
        }
        else {
            System.out.println("Taky predmet tu nikde nevidim");
        }
        return GameState.PLAYING;
    }

    public void setParams(String params) {
        this.parameters = params;
    }

    public String getParams() {
        return this.parameters;
    }

    public String getName() {
        this.name = "ZAPNI";
        return name;
    }

    public String getDescription() {
        this.description = "Zapne dany predmet ak sa da zapnut";
        return description;
    }
}

EDIT: chybu pise na tomto riadku: temp2 = game.getBackpack().getItem(parameters);

EDIT2: Uz nemusite pomahat, uz som si to poriesil...
« Last Edit: 11.01.2010, 00:20:03 by Dakota »

ineed$

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Objektové programovanie
« Reply #571 on: 11.01.2010, 02:30:26 »
Ľudia neviete náhodou ako prebieha skúška z toho predmetu ?

piton

  • Hero Member
  • *****
  • Posts: 715
    • View Profile
Re: Objektové programovanie
« Reply #572 on: 11.01.2010, 02:41:28 »
prides, odklikas, ides domov :)
"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

kubiik

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Objektové programovanie
« Reply #573 on: 11.01.2010, 03:12:19 »
prides, odklikas, ides domov :)

A uz jedno ci ju mas abo ne  :beer1:

blackflash

  • Newbie
  • *
  • Posts: 36
    • View Profile
Re: Objektové programovanie
« Reply #574 on: 11.01.2010, 04:22:58 »
dostanes parok v rozku a pojdes domov :D