• 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 »

dEVIANT

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

no niekde chyba bude lebo mne to nejde..... v kom v com moze este byt ta chyba????

dEVIANT

Quote from: Buici on  10.01.2010, 03:35:11
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

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

Quote from: dEVIANT on  10.01.2010, 03:39:02
Quote from: Buici on  10.01.2010, 03:35:11
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

Quote from: Buici on  10.01.2010, 03:35:11
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

Quote from: Agamemnon on  10.01.2010, 07:00:07
Quote from: dEVIANT on  10.01.2010, 03:39:02
Quote from: Buici on  10.01.2010, 03:35:11
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

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

Quote from: citro 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"

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

Quote from: Buici on  10.01.2010, 02:22:03
kod history

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

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

Prosim napiste ci je potrebne so zadanim odovzdat aj vsetky tie unit testy, respektive nestaci ten unit test pre parser?

SM

Ako to je s tymi unit testami? Staci mat unit test pre parser, alebo aj pre ostatne triedy?

citro

Quote from: mirek on  10.01.2010, 19:12:59
Quote from: citro 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"

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

Zdravim Ludia poradil by mi niekto s tymi Unit testami? ako to ma vlastne byt? Neviem si  s tym rady

Dakota

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

Quote from: Dakota 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???

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

SM

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

Quote from: SM 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

samozrejme
So say we all!

Dakota

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

Quote from: Dakota 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

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

#570
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:
/*
* 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...

ineed$

Ľudia neviete náhodou ako prebieha skúška z toho predmetu ?

piton

prides, odklikas, ides domov :)
"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

kubiik

Quote from: piton on  11.01.2010, 02:41:28
prides, odklikas, ides domov :)

A uz jedno ci ju mas abo ne  :beer1:

blackflash

dostanes parok v rozku a pojdes domov :D