Uppgifter | |
Användarnamn | |
Besök | - |
Hemsida | Ingen |
Plats (stad) | |
Senaste besök | 01:00 - 1:a Januari 1970 |
Poster i forumet | |
Varningar | |
Grupp | |
Medlem sedan | 01:00 - 1:a Januari 1970 |
Artiklar och filer | |
Den här användaren har inga artiklar eller filer |
Den här användaren har inte skapat någon personlig presentation. |
Kört fast totalt, java-applet |
Hej!
Det som händer när jag kör detta är att det går att köra på klotet från vänster håll och uppifrån och neråt. Detta leder till att vilkoret gameover blir sant och spelet slutar att reagera på knapptryckningar då dessa är deklarerade som while(gameover!). Dessutom ligger tråden inom detta så spelet slutar helt. Men när jag kör in i hindret från höger eller nerifrån fryser det sig en hinderradie innan klotet. Jag måste såledels förskjuta reaktionen en hinderradie åt vänster eller en hinderradie uppåt. Är detta en korrekt slutsats och skulle någon kunna tänka sig att ge tips eller lite av en vägledning till hur man gör detta?
Nedan har jag bifogat hela koden till spelet:
public class KeyApp7 extends Applet implements Runnable,
boolean leftDown = false, rightDown = false, rightUp = false,
public void init() { } public void paint ( Graphics g) {
g.setColor(Color.blue);
g.setColor(Color.red); g.setColor(Color.black); g.fillOval((int)nega, (int)nega, (int)hinderradie, (int)hinderradie);
}
public void start() {
while ( !gameover) {
nega = nega - 0.05;
if ( leftDown) vx= vx- 0.05;
if (downDown) vy = vy + 0.5;
bilx = bilx + vx;
double dx = targetx - bilx;
double distSqr = dx*dx+ dy*dy;
targetx= RADIE+(400-2*RADIE)*Math.random();
}
ex = (nega + hinderradie) - bilx; distSqr2 = ex*ex + ey*ey;
if (distSqr2 < (hinderradie+RADIE)*(hinderradie+RADIE)) }
repaint();
try { Thread.sleep(10);}
if (ke.getKeyCode() == KeyEvent.VK_DOWN) downDown = true; } public void keyReleased ( KeyEvent ke) {
if( ke.getKeyCode() == KeyEvent.VK_LEFT) leftDown = false;
if( ke.getKeyCode() == KeyEvent.VK_DOWN) downDown = false; }
}import java.applet.*;
public class KeyApp7 extends Applet implements Runnable,
boolean leftDown = false, rightDown = false, rightUp = false,
public void init() { } public void paint ( Graphics g) {
g.setColor(Color.blue);
g.setColor(Color.red); g.setColor(Color.black); g.fillOval((int)nega, (int)nega, (int)hinderradie, (int)hinderradie);
}
public void start() {
while ( !gameover) {
nega = nega - 0.05;
if ( leftDown) vx= vx- 0.05;
if (downDown) vy = vy + 0.5;
bilx = bilx + vx;
double dx = targetx - bilx;
double distSqr = dx*dx+ dy*dy;
targetx= RADIE+(400-2*RADIE)*Math.random();
}
ex = (nega + hinderradie) - bilx; distSqr2 = ex*ex + ey*ey;
if (distSqr2 < (hinderradie+RADIE)*(hinderradie+RADIE)) }
repaint();
try { Thread.sleep(10);}
if (ke.getKeyCode() == KeyEvent.VK_DOWN) downDown = true; } public void keyReleased ( KeyEvent ke) {
if( ke.getKeyCode() == KeyEvent.VK_LEFT) leftDown = false;
if( ke.getKeyCode() == KeyEvent.VK_DOWN) downDown = false; }
}[/SOURCE] Postad 17:28 - 10:e Oktober 2010 |
Datum
2024-05-05 12:06
Vecka: 18
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.