ja by som z toho urobil list a potom len volal add()... namiesto poľa
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 MenuQuote
Buď deklarujte statickú premennú 'historiaCommands' ako final, alebo sa vyhnite priradeniu jej hodnoty v kontruktore.
Quote from: Stardox on 15.12.2011, 04:04:15
Podarilo sa niekomu uspesne spojazdnit tie JUnit testy pre ParserImpl? Skusil som taketo nieco:@Test
public void testGetCommand() {
/*List<String> listOfKnownCommands = Arrays.asList("SEVER", "juh",
" VYCHOD", "zapad ", "rozhliadni SA", "inVENtar", "KONIEC",
"VEZMI", "POLOZ", "POUZI", "PRESKUMAJ", "PRIKAZY", "NAHRAJ",
"ULOZ", "VERZIA", "RESTART" );*/
System.out.println("getCommand");
String arg0 = "SEVER";
ParserImpl instance = new ParserImpl();
//Command expResult = null;
Command result = instance.getCommand(arg0);
assertEquals(new North(), result);
// TODO review the generated test code and remove the default call to fail.
//fail("The test case is a prototype.");
}
Ale po spusteni test failne:Testcase: testGetCommand(commands.ParserImplTest): FAILED
expected:<commands.North@1ca4eb4> but was:<commands.North@f522e8>
junit.framework.AssertionFailedError: expected:<commands.North@1ca4eb4> but was:<commands.North@f522e8>
at commands.ParserImplTest.testGetCommand(ParserImplTest.java:58)
Cize ak tomu spravne rozumiem, mam 2 instancie North, lenze ta prva ma ako keby ine ID?
Quote from: ApokalypS on 14.12.2011, 21:23:20
myslel som farebne prevedenie..
alebo azda ani to nie?
Quote
Inak, kvôli čomu to vypisuje také banality ako OnlyOneReturn. Trochu som gúglil a prakticky všetko, čo som našiel o vyriešení OnlyOneReturn-u, by sa dalo zhrnúť do vety - Keď vám to vadí, zakážte vypisovanie tejto chyby (odstráňte to z XMLka)
Quote from: veteran on 13.12.2011, 01:01:42
A ešte takáto vec:
Keď mám takýto konštruktor:
public niečo(){
super("meno","popis");
}
... je potrebné do dokumentačných komentárov písať parameter @param meno a @param popis? NetBeans to tam implicitne nehádže, ale tie parametre tam vystupujú.
Quote from: veteran on 12.12.2011, 23:21:42
Akým spôsobom sa dá zbaviť upozornenia PMDčka "OnlyOneReturn".
Quote from: xxx3 on 11.12.2011, 16:46:23
ako overovat ci bol vytvoreny objekt ?
Command command = xy.getCommand("pouzi");
assertNotNull(command);
assertNotEquals(null, command);
if (command == null) {
fail();
}
Quote from: charlie on 11.12.2011, 10:54:41
ako ste riesili prikazy s parametrom? lebo :kontrola prikazu -> if(ak je za prikazom daco){oreze a vybere parameter} else {hlaska: zly parameter};
teoreticky by to malo pracovat, ale ked dam "prikaz" bez znaku za nim tak mi hodi ERR.
Ak som pochopil dobre, tak hadze kvoli kontrole v if. neviete ako by som to poriesil? bo uz na tym sedim dost dlho neviem pohnut.
dikes
Quote from: Zeusetdeus on 11.12.2011, 07:13:38
Mam otazku ku komentarom. Metody ktore boli implementovane z kniznice sa nekomentuju. Na druhej strane sa vyzaduje aby bol vysledok analyzy JavaDoc prazdny. Tie Override metody teda zakomentujem /** */ naprazdno?
Quote from: xxx3 on 11.12.2011, 05:34:58
tak je tam metoda:@Test
public void testGetCommand() {
System.out.println("getCommand");
String string = "";
ParserImpl instance = new ParserImpl();
Command expResult = null;
Command result = instance.getCommand(string);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
}
ktoru treba implementovat ... a v scenari je napisane, ze V testovacej triede ParserImplTest upravte metódu testGetCommand() tak, aby otestovala správnosť rozpoznávania predpísanej sady príkazov.
Pre reprezentáciu predpísanej sady príkazov použite nasledovný zápis:List<String> listOfKnownCommands = Arrays.asList("SEVER", "juh",
" VYCHOD", "zapad ", "rozhliadni SA", "inVENtar", "KONIEC",
"VEZMI", "POLOZ", "POUZI", "PRESKUMAJ", "PRIKAZY", "NAHRAJ",
"ULOZ", "VERZIA", "RESTART" );
ale ako ? Vies to podla tohto spravit ? Alebo niekto ?
Quote from: xxx3 on 08.12.2011, 21:05:29Quote from: Agamemnon on 06.12.2011, 18:55:17
nevymyslajte zlozite veci... ak potrebujes pri pouziti nejakeho predmetu odomknut/nastavit nejaky vychod (=zavolat setexits), tak si tu miestnost, do ktorej sa potom budete moct dostat (teda, ktoru pouzijes ako parameter v setexits), predajte ako parameter kontruktora toho predmetu, ulozte do private premennej v predmete a v metode use to potom uz len pouzite... popisoval som to tu pred par dnami...
este na toto by som sa chcel spytat ... mam v createRooms napr. vytvorenu miestnost: RoomImpl Miestnost5 = new RoomImpl("M5","Si v miestnosti 5")
A potom ju ako mozem predat ako parameter konstruktora predmetu ? Nechapem. V konstruktore predmetu je napr.:public Key(){
super("kluc","Stary zhrdzaveny kluc");
}
kedze dedi od AbstractItem:public AbstractItem(String name, String description){
this.name = name;
this.description = description;
}
Nevysvetlili by ste niekto blizsie ako si predat neiktoru konkretnu miestnost cez ten konstruktor ?
public class Key extends AbstractItem {
public Key(RoomImpl miestnost) {
this.miestnost = miestnost;
super(...);
}
}
Quote from: matus217 on 08.12.2011, 19:51:59Tak ked uz sme pri tom, tak pozeral som aj ine videa, a cital som aj odporucanu literaturu. Konkretne stevove videa som mal ako ucebnu pomocku, ktora nebola JEDINA. Kvoli zadaniu chodim spavat posledne dva tyzdne o stvrtej rano. Tak dufam ze sa mi investovany cas aj nalezito zuroci...
Quote from: xxx3 on 08.12.2011, 02:40:48
a este nieco: z PMD Avoid using implementation types like 'ArrayList'; use the interface instead
to akoze nemam pouzivat ArrayList ? Nechapem, mam miesto ArrayList pouzit rozhranie ?? ako sa to da ?
List<String> ls = new ArrayList<String>();
Quote from: xxx3 on 07.12.2011, 05:05:21
hm, len teraz to mame tak, ze v triede GameImpl je metoda createRooms, ktora vytvori vsetky miestnosti a nastavi vychody z miestnosti ... to si mam teraz tu miestnost kde treba pouzit lano spravit zvlast ako triedu a v createRooms vytvorit instanciu tej triedy miesto tej miestnosti ktoru tam mam teraz v createRooms ?
Quote from: xxx3 on 07.12.2011, 04:18:29
ten flag je co vlastne ? .. dam si nejaku premennu, ktorej nastavim napr. hodnotu true ked predmet bol pouzity, inak bude false ?
A tie getWest atd. kde prekryt ? A ako sa da dat taka podmienka, ze if(predmet bol pouzity) then nieco ... ?
public class MietsnostKdeTrebaPouzitLano extends RoomImpl {
private bool wasRopeUsed = false; // toto je ten flag
// teraz máš nejakú metódu, ktorá nastaví flag na true - túto metódu zavoláš pri použití lana (use metóda v triede Lano)
public void ropeUsed() {
// flag nastavíš len ak lano používaš v správnej miestnosti...
if (gameimpl.getCurrentRoom().Equals(this)) {
wasRopeUsed = true;
}
}
@Override
public Room getWest() {
if (!wasRopeUsed) {
gameimpl.EndGame(); // alebo čokoľvek, čo ti dokáže ukončiť hru... nechce sa mi hľadať teraz ako to má byť presne zapísané... snáď si vieš predstaviť, čo tu máš zavolať... alebo throwni exception a tú potom na vhodnom mieste odchyť etc..
}
return westRoom;
}
}
Quote from: ultimate on 07.12.2011, 02:49:54
nejake napady co by mohlo byt ako vlastne rozhranie s dvoma metodami?
Quote from: xxx3 on 07.12.2011, 03:00:33alebo jednoducho, ze sa neda pokracovat dalej ked sa nevykona prikaz v danej miestnosti ktory je v scenari .. ze nepusti to do dalsej miestonsti kym sa nevykona ten prikaz
Quote from: xxx3 on 07.12.2011, 03:00:33
mam v scenari napr. prikaz pouzi lano ... a ako spravim to, ze ked to lano v danej miestnosti nepouzijem tak ze sa hra ukonci ? ... mal som to vymyslene tak, ze akoze bude v miestnosti diera a preto musi dat hrac prikaz pouzi lano aby sa dostal cez dieru, inak spadne do diery .. no myslel som, ze to bude len ako v opise miestonsti, ze je tam akoze diera ... len to ma zaujima, ze ako spravim tieto veci, ze sa musi pouzit ten predmet v danej miestonsti inak sa hra skonci lebo akoze zomrie hrac ..