import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.geom.Ellipse2D;
import javax.swing.JPanel;
import javax.swing.Timer;
public class Spieler extends JPanel implements ActionListener, KeyListener{
Timer t = new Timer(5,this);
double x = 0, y = 0, velx = 0, vely = 0;
boolean up;
boolean down;
boolean left;
boolean right;
public Spieler()
{
t.start();
addKeyListener(this);
setFocusable(true);
setFocusTraversalKeysEnabled(true);
}
public void paintComponent(Graphics g){
super.paintComponents(g);
Graphics2D g2 = (Graphics2D) g;
g2.fill(new Ellipse2D.Double(x,y,40,40));
}
public void actionPerformed(ActionEvent e){
repaint();
x+= velx;
y+= vely;
if(up){
vely=-1.5;
velx=0;
}
if(down){
vely=1.5;
velx=0;
}
if(left){
vely=0;
velx=-1.5;
}
if(right){
vely=0;
velx=1.5;
}
}
public void keyPressed(KeyEvent e){
int code = e.getKeyCode();
if(code == KeyEvent.VK_UP)
{
up=true;
}
if(code == KeyEvent.VK_DOWN)
{
down=true;
}
if(code == KeyEvent.VK_LEFT)
{
left=true;
}
if(code == KeyEvent.VK_RIGHT)
{
right=true;
}
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){
if(e.getKeyCode()==KeyEvent.VK_UP){
up=false;
}
if(e.getKeyCode()==KeyEvent.VK_DOWN){
down=false;
}
if(e.getKeyCode()==KeyEvent.VK_LEFT){
left=false;
}
if(e.getKeyCode()==KeyEvent.VK_RIGHT){
right=false;
}
}
}