Gå til innhold

Anbefalte innlegg

Her ligger midt første Java spill. http://www.stud.ntnu.no/groups/prog0804/

 

 

Det er en del bugs enda, men siden det er eksamen så har jeg ikke tid på å rette det på en god stund.

 

Den største buggen er kanskje at:

Jeg ikke får stoppet alle trådene når personen refresher siden eller i noen tilfeller også lukker browservinduet.

 

Prøv det gjerne ut og gi meg litt tilbakemelding på det.

 

Anbefales å lese hjelp filen først:

http://www.stud.ntnu.no/groups/prog0804/help.html

Lenke til kommentar
Videoannonse
Annonse

Litt vanskelig å si uten å se kildekoden, men antar du har en klasse som "extendes Applet implements Runnable". Da vil du ha en funksjon "public void stop()" som du kan (husker ikke hva det het forno?) lage din egen implementasjon av. Her kan du bare sette de andre trådene til å være null, evt. vente på at de skal avsluttes etter at du har signalisert til de på en eller annen måte at de skal avsluttes. Har ikke programmert Java på en 3-4 år, men syns å huske at du kan bruke join() for å oppnå dette.

Håper det hjelper, og lykke til med eksamen :wink:

Lenke til kommentar

Om det er vanskelig:

- Tja, jeg hadde ikke programmert med applet før, så det var litt uvant. Men da jeg skjønte ting gikk det nesten på skinner. Men man må ha litt tolmodighet med den. (Vi hadde bare lært java i 3 måneder da vi begynte med prosjektet)

 

Om det tok lang tid:

spillet var et gruppeprosjekt på 4 personer. (Jeg gjorde vel desidert mest). Vi begynte i midten av mars, og ble ferdig med den etter påsken. Men det var mye planlegging og ikke effektiv arbeidtid da.

 

implements runnable så må du bare ha run() metode. Lurte på om jeg kunne ha en System on exit sak som stopper trådene, men det hadde jeg ikke tid til. stop() metoden for tråder er deprecated... :(

Lenke til kommentar

Forresten, angående det med stopping av tråder, så fant jeg ut at det greieste var å ha alle kommandoene i run-metoden i en while(running)-loop .. Og da, ved et lite kall til en metode stop(), som jeg laga, ble running satt til false, og loopen stoppa av seg selv..

 

Hvis du bare husker på å kalle stop() på alle threadene hver gang noe skal stoppes bør ting stoppe opp etter hvert.. :)

Lenke til kommentar
Forresten, angående det med stopping av tråder, så fant jeg ut at det greieste var å ha alle kommandoene i run-metoden i en while(running)-loop .. Og da, ved et lite kall til en metode stop(), som jeg laga, ble running satt til false, og loopen stoppa av seg selv..

 

Hvis du bare husker på å kalle stop() på alle threadene hver gang noe skal stoppes bør ting stoppe opp etter hvert.. :)

 

Jeg har vel det omtrent sånt nå, når hovedpersonen dør så stopper vel de fleste trådene. Problemet oppstår når spillet blir avbrutt pga. at brukeren f.eks. trykket på refresh eller noe sånt. Jeg mistenker at trådene fortsatt kjøres i bakgrunnen. Noen ganger spilles bakgrunnsmeldien i "kanon" hvis du forstår hva jeg mener...

Lenke til kommentar

Ah, i see..

 

Vel, det kan jeg egentlig ikke svare på.. Vi valgte å droppe applet, så vet ikke helt hvordan det funker.. Men er vel en eller annen metode du kan lage som automatisk blir kalt når appleten lukkes, i dunno :)

Lenke til kommentar

unwill: stilig spill!

 

Tosh: E:v>java Main

Exception in thread "main" java.lang.NullPointerException

at java.io.Reader.<init>(Reader.java:61)

at java.io.InputStreamReader.<init>(InputStreamReader.java:55)

at HighScoreListe.<init>(HighScoreListe.java:58)

at Hovedvindu.<init>(Hovedvindu.java:46)

at Main.main(Main.java:17)

Får ingenting ved å klikke på .jar fila (javaw blir liggende som en prosess, men intet vises)... Mangler det en highscore fil?

 

Å lage spill høres ut som en mye mer spennende (og kreativ) oppgave enn det vi hadde...

 

CPL

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