Gå til innhold

Nybegynnerproblemer med JAVA, stort sett fixed


Anbefalte innlegg

Skrevet

Hei

 

Slime Games er et artig spill. Vi spiller det masse på skolen osv.

Så tenkte jeg at det hadde vært gøy å titte litt i koden til spillet og kanskje endre en verdi eller to så ting ble enda morsommere. Eller noe i den duren.

 

Etter å ha lastet ned programmer på 3-400MB fra Sun sine hjemmesider og funnet ut at det ikke funka, fant jeg ut her på forumet at EditPlus gikk an bruke. Har ingen formening om dette er bra eller dårlig, men det tror jeg spiller mindre rolle for mitt vedkommende.

 

Lykkelig over å ha funnet et program som kan lese den tøffe *.class fila til spillet fyrer jeg opp og får denne informerende koden når jeg åpner fila(se vedlegg).

 

Selv jeg forstår at dette ikke er riktig. Hva kan jeg gjøre? :dontgetit:

post-35-1128031387_thumb.jpg

Videoannonse
Annonse
Skrevet

Det du har fått opp der, er den kompilerte koden. ".class" filen tilsvarer windows sine ".exe" eller ".dll" filer. Disse er det også upraktisk å redigere i en tekst-editor.

 

Hvis du vil ha kildekoden, så må du se etter ".java" filer, eller programmer som kan lage ".java" filer fra ".class" filer. ".java" filene vil være ren tekst ... og bør være forholdsvis leselige.

 

CPL

Skrevet
Her finner du kildekode til en versjon av Slime Volleyball:

 

http://www.student.uwa.edu.au/~wedgey/slime/

Takk for linken. Der fant jeg ihvertfall riktig fil. Nå kan jeg ingenting om java, men med html-kunnskaper og "folkevett" skal jeg prøve å endre litt småtterier inni her. Men jeg har fått vite at jeg må kompilere java-filen til en class fil. Dette vet jeg derimot ikke hvordan jeg gjør. Noen tips?

Skrevet

Last ned JDK 1.5 fra java.sun.com og installer.

 

I konsoll, skriv javac MinModifiserteFil.java. Det gir deg MinModifiserteFil.class.

 

Åpne jar-fila med WinRar eller noe annet som kan "utforske" jar-filer. Erstatt den gamle fila med din modifiserte. De skal ha samme navn.

Skrevet (endret)

Jeg lastet ned og installerte denne luringen: http://java.sun.com/j2se/1.5.0/download-netbeans.html

Det står da "Development Kit" der.

 

Men nå begynner jeg å føle meg dum. Consoll?

Jeg kan få opp en consoll hvis jeg som jeg tror er Java Runtime Enviroment. Der går det ikke an å skrive.

Ellers så søkte jeg rundt i mappa der det ble installert og fant en konsoll, men der måtte jeg logge inn og greier. Jeg har da ikke noe loggin info :dontgetit:

 

EDIT: Har riktig JDK, det fant jeg ut nå. Men står fortsatt fast.

Endret av kennethdammyr
Skrevet

Dersom du bruker Windows, kan du kjøre javac i dos-ledeteksten. Ellers ser det ut som om du har lastet ned Netbeans, i Netbeans kan du åpne fila, redigere, kompilere og kjøre den.

Skrevet

Det var ikke enkelt (synes jeg :p ), men jeg klarte til slutt å compile den modifiserte fila :D

Så hvis noen ønsker en norsk versjon(oversatt) av Slime så er det bare å si ifra :D

 

Tusen takk for hjelpen!

Antakeligvis kommer ejg tilbake med flere spørsmål.

Skrevet

Appleten din virker for meg i Firefox, men ikke i Explorer...

Problemet er nok i html-fila - prøv å legge appleten på websiden slik:

 


 <!--[if !IE]>-->
     <object classid="java:Slime2P.class"
             type="application/x-java-applet"
             height="400" width="800" >
     <!--<![endif]-->
       <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
                height="400" width="800" >
         <param name="code" value="Slime2P" />
       </object>
     <!--[if !IE]>-->
     </object>
     <!--<![endif]-->

 

Det er ikke akkurat så pent å se på, men pleier å virke - tror det skal validere som XHTML også.

Skrevet

Nå fungerer det her både i FF og Explorer. :thumbup:

 

Det er visstnok slik at det følger med en egen java-vm i explorer, og hvis du ikke forteller explorer at den ikke skal brukes, brukes den automatisk. Da får du problemer hvis appleten din bruker funksjoner som ikke støttes av ms-vm-en. classid-attributtet i object-tagen forteller Explorer at den nyeste installerte javaen skal brukes.

 

Hvis jeg har forstått dette riktig da :hmm:

Skrevet

Det er flott!

 

Det funker fortsatt ikke på min maskin, men har prøvd på en annen og der funker det fint. Skal sende det litt rundt å se om det funker overalt ellers.

 

Men siden det antakelig er spillbart nå, er det lov å få en liten tilbakemelding på min "versjon" av spillet da? :innocent:

Jeg har først og fremst oversatt til norsk og endra html-fila så det ser litt penere ut. Synes jeg. Fokuset er at det skal være så enkelt som mulig.

Skrevet

I'm back!

 

private void DrawSlimers()

    {

        int k1 = nWidth / 10;

        int j2 = nHeight / 10;

        int i3 = nWidth / 50;

        int j3 = nHeight / 25;

        int k3 = (ballX * nWidth) / 1000;

        int l3 = (4 * nHeight) / 5 - (ballY * nHeight) / 1000;

        int i = (p1OldX * nWidth) / 1000 - k1 / 2;

        int l = (7 * nHeight) / 10 - (p1OldY * nHeight) / 1000;

        screen.setColor(Color.blue);

        screen.fillRect(i, l, k1, j2);

      i = (p2OldX * nWidth) / 1000 - k1 / 2;

        l = (7 * nHeight) / 10 - (p2OldY * nHeight) / 1000;

       

 

Jeg skjønner ytterst lite av alle disse utrykkene, men det stopper ingen :p

Bakgrunnen på spillet er blå. Jeg fant ut at hvis jeg bytta ut alle steder hvor det stod blue med green ville jeg få en grønn bakgrunn. Det gikk fint. Men nå ønsker jeg å bytte ut blue med et bilde. Slik at jeg får et bakgrunnsbilde.

Min "logiske" sans forteller meg at da skal jeg bare bytte ut blue med en bildetag. Mulig det ikke stemmer, hva vet jeg.

 

Hvordan får jeg bakgrunnsbilde?

Hvis det er på måten jeg sa, hva heter bildetaggen?

 

:hmm:

Skrevet
...hva heter bildetaggen?

 

java er ikke markup, det er programmering vet du. Altså ingen tagger. Her kan du se hvordan man tegner et bilde.

 

Det kan hende det er litt vanskelig å bruke et bakgrunnsbilde - uten å være helt sikker på noe som helst ser det ut som om koden du har merket av visker ut en "slimer" før den skal tegnes på nytt (i en ny posisjon tenker jeg). Dette er vanlig for å få tegnekoden til å gå raskere.

 

For å få et bakgrunnsbilde, må du nok skrive om koden så hele bakgrunnen tegnes opp for hver frame.

Skrevet

Med andre ord er bakgrunnsbilde ganske vanskelig?

 

Da er det neste utfordring. Det virker som koden/spillet vil mindre og mindre være med på leken. Link.

Denne funker ikke, ihvertfall gjør den ikke det på mine maskiner.

"Null.pointer.exeption" klarte jeg å lese i en feilmelding. Er det problemet? hvis det er et problem...

 

En annen ting:

Link, her går ting saktere på min testmaskin enn for eksempel denne versjonen som er etter hva jeg kan se helt lik.

Skrevet

NullPointerException er et typisk problem.

 

Vanskelig å si mer eksakt hvor problemet ligger uten å se kildekoden din. Forøvrig ser ingen av lenkene dine ut til å fungere for øyeblikket. :roll:

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...