Hallo, kann jemand helfen kommentieren diese quelle Code. Was genau jede stricht mach und so weiter….
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
if (scoreboard.isGameOver()) {
startNewGame();
repaint();
}
}
});
//
addKeyListener(new KeyAdapter() {
boolean fastDown;
@Override
public void keyPressed(KeyEvent e) {
if (scoreboard.isGameOver())
return;
switch (e.getKeyCode()) {
case KeyEvent.VK_UP:
if (canRotate(fallingShape))
rotate(fallingShape);
break;
case KeyEvent.VK_LEFT:
if (canMove(fallingShape, Dir.left))
move(fallingShape, Dir.left);
break;
case KeyEvent.VK_RIGHT:
if (canMove(fallingShape, Dir.right))
move(fallingShape, Dir.right);
break;
case KeyEvent.VK_DOWN:
if (!fastDown) {
fastDown = true;
while (canMove(fallingShape, Dir.down)) {
move(fallingShape, Dir.down);
repaint();
}
shapeHasLanded();
}
}
repaint();
}
@Override
public void keyReleased(KeyEvent e) {
fastDown = false;
}
});
}
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
if (scoreboard.isGameOver()) {
startNewGame();
repaint();
}
}
});
//
addKeyListener(new KeyAdapter() {
boolean fastDown;
@Override
public void keyPressed(KeyEvent e) {
if (scoreboard.isGameOver())
return;
switch (e.getKeyCode()) {
case KeyEvent.VK_UP:
if (canRotate(fallingShape))
rotate(fallingShape);
break;
case KeyEvent.VK_LEFT:
if (canMove(fallingShape, Dir.left))
move(fallingShape, Dir.left);
break;
case KeyEvent.VK_RIGHT:
if (canMove(fallingShape, Dir.right))
move(fallingShape, Dir.right);
break;
case KeyEvent.VK_DOWN:
if (!fastDown) {
fastDown = true;
while (canMove(fallingShape, Dir.down)) {
move(fallingShape, Dir.down);
repaint();
}
shapeHasLanded();
}
}
repaint();
}
@Override
public void keyReleased(KeyEvent e) {
fastDown = false;
}
});
}