Hallo zusammen!
Vorweg: Ich schreibe meinen ersten Beitrag hier und bin quasi noch im Anfangsstudium von Java
Außerdem hab ich die SuFu bereits benutzt.
Im Titel steht es bereits, mein KeyListener funktioniert am Tower-PC aber nicht auf meinem Laptop.
Wahrscheinlich etwas lang und nicht gut formatiert aber ich bitte dies zu entschuldigen! ;-)
TurtleFrame ist quasi ein JFrame und der KeyListener funktioniert theoretisch auch, halt nicht auf meinem Laptop.
Meine Frage währe: warum?
Mit freundlichen Grüßen
Gfreak23
P.S.: Hier ein Link zum "Turtle"-Paket: http://www.aplu.ch/home/download/aplujar5.zip
Vorweg: Ich schreibe meinen ersten Beitrag hier und bin quasi noch im Anfangsstudium von Java
Außerdem hab ich die SuFu bereits benutzt.
Im Titel steht es bereits, mein KeyListener funktioniert am Tower-PC aber nicht auf meinem Laptop.
Java:
import ch.aplu.turtle.*;
import java.awt.Color;
import java.awt.event.*;
class TurtleRacer extends TurtleFrame
{
private Turtle Jascha;
private Turtle Jann;
private Turtle kol;
private Turtle Feld;
public void TurtleRacer()
{
addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
switch(e.getKeyCode())
{
case KeyEvent.VK_LEFT:
Jann.setHeading(Jann.heading() - 90);
break;
case KeyEvent.VK_RIGHT:
Jann.setHeading(Jann.heading() + 90);
break;
case KeyEvent.VK_D:
Jascha.setHeading(Jascha.heading() + 90);
break;
case KeyEvent.VK_A:
Jascha.setHeading(Jascha.heading() - 90);
break;
case KeyEvent.VK_R:
Feld.clean(Color.black);
Jascha.setPos(-50,0);
Jann.setPos(50,0);
double hindernis = Math.random() * 3;
if(hindernis < 3 & hindernis > 2)
{
Hindernis();
Hindernis();
Hindernis();
} else if(hindernis < 2 & hindernis > 1)
{
Hindernis();
Hindernis();
}else if(hindernis < 1)
{
Hindernis();
}
break;
}
}
});
Jascha = new Turtle(this, Color.orange);
Jann = new Turtle(this, Color.red);
kol = new Turtle(this, Color.blue);
Feld = new Turtle(this, Color.black);
Jann.speed(-1);
Jascha.speed(-1);
Jascha.setPenColor(Color.orange);
Jascha.setPos(-50,0);
Jascha.penWidth(5);
Jascha.wrap();
Jann.setPenColor(Color.red);
Jann.setPos(50,0);
Jann.penWidth(5);
Jann.wrap();
kol.penUp();
kol.hideTurtle();
kol.speed(-1);
kol.wrap();
Feld.penUp();
Feld.hideTurtle();
Feld.setFillColor(Color.black);
Feld.fill();
Feld.penWidth(5);
Feld.setPenColor(Color.yellow);
double hindernis = Math.random() * 3;
if(hindernis < 3 & hindernis > 2)
{
Hindernis();
Hindernis();
Hindernis();
} else if(hindernis < 2 & hindernis > 1)
{
Hindernis();
Hindernis();
}else if(hindernis < 1)
{
Hindernis();
}
addStatusBar(40);
setStatusText("LASSET DIE SPIELE BEGINNEN!");
play();
}
public void play()
{
boolean play = true;
while(play = true)
{
int koljascha;
kol.setPos(Jascha.getX(),Jascha.getY());
kol.setHeading(Jascha.heading());
kol.fd(4);
if(kol.getPixelColor().equals(Color.orange) || kol.getPixelColor().equals(Color.red) || kol.getPixelColor().equals(Color.yellow))
{
koljascha=1;
} else {
koljascha=0;
}
System.out.println(koljascha);
int koljann;
kol.setPos(Jann.getX(),Jann.getY());
kol.setHeading(Jann.heading());
kol.fd(4);
if(kol.getPixelColor().equals(Color.orange) || kol.getPixelColor().equals(Color.red) || kol.getPixelColor().equals(Color.yellow))
{
koljann = 1;
} else {
koljann = 0;
}
System.out.println(koljann);
if(koljann == 1 || koljascha == 1)
{
play = false;
if(koljann == 1 & koljascha == 1)
{
addStatusBar(40);
setStatusText("Unentschieden!!");
}else if(koljann == 1)
{
addStatusBar(40);
setStatusText("Jann hat verloren!");
} else {
addStatusBar(40);
setStatusText("Jascha hat verloren!");
}
} else {
Jascha.fd(5);
Jann.fd(5);
}
}
}
private void Hindernis()
{
double d = Math.random() * 360;
double x = Math.random() * 400;
double y = Math.random() * 400;
if(d <= 360 & d > 270)
{
Feld.setHeading(270);
} else if(d <= 270 & d > 180)
{
Feld.setHeading(180);
}else if(d <= 180 & d > 90)
{
Feld.setHeading(90);
}else{
Feld.setHeading(0);
}
Feld.setX(x - 200);
Feld.setY(y - 200);
Feld.penDown();
Feld.fd(20);
}
}
Wahrscheinlich etwas lang und nicht gut formatiert aber ich bitte dies zu entschuldigen! ;-)
TurtleFrame ist quasi ein JFrame und der KeyListener funktioniert theoretisch auch, halt nicht auf meinem Laptop.
Meine Frage währe: warum?
Mit freundlichen Grüßen
Gfreak23
P.S.: Hier ein Link zum "Turtle"-Paket: http://www.aplu.ch/home/download/aplujar5.zip