Gå til innhold

Nybegynnerproblemer med JAVA, stort sett fixed


Anbefalte innlegg

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

Lenke til kommentar
Videoannonse
Annonse

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

Lenke til kommentar
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?

Lenke til kommentar

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
Lenke til kommentar

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å.

Lenke til kommentar

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:

Lenke til kommentar

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.

Lenke til kommentar

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:

Lenke til kommentar
...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.

Lenke til kommentar

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.

Lenke til kommentar

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...