Har lavet et lidt primitivt spil, uden grafik, men får nogle fejl. HJÆLP!

Tags:    java

<< < 123 > >>
Hej alle! Har lavet et primitivt spil, uden grafik, og får nogle fejl. Spillet er ikke færdigt endnu, men ville gerne have mulighed for at teste det, men når jeg kører det får jeg fejl. Please help!

Fejl:
Fold kodeboks ind/udKode 


Klasse1
Fold kodeboks ind/udJava kode 


Klasse2
Fold kodeboks ind/udJava kode 


Klasse3
Fold kodeboks ind/udJava kode 


Klasse4
Fold kodeboks ind/udJava kode 


Klasse5
Fold kodeboks ind/udJava kode 


klasse6
Fold kodeboks ind/udJava kode 


klasse7
Fold kodeboks ind/udJava kode 


klasse8
Fold kodeboks ind/udJava kode 


klasse9
Fold kodeboks ind/udJava kode 


Klasse10
Fold kodeboks ind/udJava kode 


PS. Bruger Eclipse IDE



Indlæg senest redigeret d. 18.02.2012 11:38 af Bruger #16945
30 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
zip og unzip i terminalen skulle kunne klare dine problemer med zip-pakning af filer i ubuntu. Hvis ikke, så kør en sudo aptitude install zip og prøv forfra igen. :-)



States eller Finite-state machine som, de kaldes har ikke decideret noget med programmeringen, at gøre. Men er en god metode, at få et godt overblik over, hvordan man kan lave sit program, og på den måde lave et godt program design, før man begynder at programmere, på den måde undgår man spaegethi kode :)

Du kan evt. kigge nærmere på dette link. Finite-state machine



Den hurtigste måde, er nok stadigvæk den gode gamle, hvor man tager noget papir og blyant eller et andet skrive værktøj :)



Det ser ud til at Java ikke kan finde din Main metode... Det samme kunne jeg heller ikke i din kode... Du har vel husket en klasse der indeholde en static Main metode?

Btw: I stedet for at skrive klasse10 og klasse9 etc, så skriv i stedet hvad klassen hedder :) Det gør det mindre forvirrende for os andre.



Indlæg senest redigeret d. 18.02.2012 11:43 af Bruger #6559
I klassen Spillet ligger main metoden..

Spillet:
Fold kodeboks ind/udJava kode 




Godt spottet Martin !

Fold kodeboks ind/udJava kode 


Det er ikke fordi, at Jacob ikke har en main metode, det er fordi, at han har glemt at java ikke acceptere andre parameter til sin main metode end String[] args, til forskel fra C.

Så, hvis du ændre det de her linjers kode i din Spillet klasse til

Fold kodeboks ind/udJava kode 


For at læse dine intergers ind, så skal du stadigvæk sende dem som argumenter til dit program, og så kan du bruge java's indbygget Scanner klasse til at for fat på mad, mph og jordbær.

Fold kodeboks ind/udJava kode 


Så burde det gerne vises. Ved godt, at det ikke er meningen man skal hakke ned på andre; men det her er altså ekstrem forvirrende kode, og du opretter mange flere objekter end nødvendigt. I stedet for at lave objekter, manden, hunden og de andre klasser som nye i hver underklasse, så burde du i stedet for kalde, på de statiske objekter, som du i forvejen har lavet under Spillet klassen. De kan kaldes på følgende metode:
"Spillet.hunden.x", hvor x er enten en metode eller en variable du gerne vil have fat i.

Og lige en ting til, jeg ved ikke om du har hørt om det noget sted; men når man laver sådanne nogle her lidt store projekter, som du er igang med :) Så er det, at teste en uvurderlig ting, at kunne. Selv foretrækker jeg, at benytte mig af automatiske test ved at køre nogle JUnits test, på mit projekt, på den måde kan jeg teste, om hele programmet virker på en gang. JUnits er integreret i eclipse, så det er bare at komme igang (evt. se en film på youtube først) ;)






Nvm, skal åbne øjnene.



Indlæg senest redigeret d. 18.02.2012 11:57 af Bruger #16797
Godt spottet Martin !

Fold kodeboks ind/udJava kode 


Det er ikke fordi, at Jacob ikke har en main metode, det er fordi, at han har glemt at java ikke acceptere andre parameter til sin main metode end String[] args, til forskel fra C.

Så, hvis du ændre det de her linjers kode i din Spillet klasse til

Fold kodeboks ind/udJava kode 


For at læse dine intergers ind, så skal du stadigvæk sende dem som argumenter til dit program, og så kan du bruge java's indbygget Scanner klasse til at for fat på mad, mph og jordbær.

Fold kodeboks ind/udJava kode 


Så burde det gerne vises. Ved godt, at det ikke er meningen man skal hakke ned på andre; men det her er altså ekstrem forvirrende kode, og du opretter mange flere objekter end nødvendigt. I stedet for at lave objekter, manden, hunden og de andre klasser som nye i hver underklasse, så burde du i stedet for kalde, på de statiske objekter, som du i forvejen har lavet under Spillet klassen. De kan kaldes på følgende metode:
"Spillet.hunden.x", hvor x er enten en metode eller en variable du gerne vil have fat i.

Og lige en ting til, jeg ved ikke om du har hørt om det noget sted; men når man laver sådanne nogle her lidt store projekter, som du er igang med :) Så er det, at teste en uvurderlig ting, at kunne. Selv foretrækker jeg, at benytte mig af automatiske test ved at køre nogle JUnits test, på mit projekt, på den måde kan jeg teste, om hele programmet virker på en gang. JUnits er integreret i eclipse, så det er bare at komme igang (evt. se en film på youtube først) ;)




Er helt klart positiv overfor kritik :) Men så vidt jeg ved så hvis man bruger scanner klassen, på den måde du forslår, så skal brugeren selv initialisere int mad, int mph, ing jordbaer, hvilket ikke var det jeg ville, jeg ville bare gerne have mulighed for at bruge en metode i ToDo klassen med dot notation, men hvis jeg ikke skriver de tre integers (int mad, int mph, ing jordbaer) i main metodens parameter, får jeg fejl i "ToDo.et1(mhp, mad, jordbaer); // !!! Fejl?? !!!" Fordi parameterets integers ikke er erklæret i main metodens parameter.



Ikke nødvendigvis, men så ville det næsten kræve at man laver en anden application, der kan starte din application med de rigtige parametre uden at brugeren ligger mærke til det.

Men, hvis den funktionalitet du gerne vil have, er at de skal starte som noget fast defineret, så vil jeg foreslå at du laver dem som:

Fold kodeboks ind/udJava kode 


Og så ville du snildt kunne kalde din Todo.et1(mph,mad,jordbaer);

uden problemmer :)



Så mit problem er, at hvis jeg skal kunne bruge en metode i et objekt, i main klasse, uden at bruge main klassens parameter for at få fejl i den anden metodes parameter, skal de variabler som er angivet i parameteret, være statiske?

OPDATERET!!

Får fejl, hvis jeg gør dem public og static. Får stadig flg fejl:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 18.02.2012 12:17 af Bruger #16945
<< < 123 > >>
t