Forum huvudsida -> Programmering -> Kört fast totalt, java-applet
Sidor: 1
eradico | 17:28 - 10:e Oktober 2010 | Post #1 | |
Medlem Inlägg: 1 Skicka PM |
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] |
Sidor: 1
Forum huvudsida -> Programmering -> Kört fast totalt, java-applet
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-05 17:16
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.