# KeyListener



## Wilczeq19 (12. Okt 2017)

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;
            }
        });
    }


----------



## Robat (12. Okt 2017)

Hast du denn überhaupt keine eigene Idee / Ansätze?
Code bitte in [code=Java]MY CODE[/code] Tags.


----------



## Wilczeq19 (12. Okt 2017)

```
addKeyListener(new KeyAdapter() { //KeyListener registrieren
            boolean fastDown;//

            @Override
            public void keyPressed(KeyEvent e) { //Wird ausgeführt, wenn eine Taste gedrückt wurde

                if (scoreboard.isGameOver())
                    return; //
               
              //  System.out.println(e.getKeyCode()); 
             

                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(); //wiederholen
            }

            @Override
            public void keyReleased(KeyEvent e) { // Wird ausgeführt, wenn eine Taste losgelassen wurde
                fastDown = false;
            }
        });
    }
```


----------



## Wilczeq19 (12. Okt 2017)

Ich weiß was das macht aber nur allgemein und ich brauche genaue Erklärung, was alles macht.


----------



## Robat (12. Okt 2017)

Was genau verstehst du denn nicht bzw wo weißt du nicht was du schreiben sollst?.


----------



## Wilczeq19 (12. Okt 2017)

Ich habe diesen Code und ich muss genau schreiben (Kommentar schreiben) was jeder Methode etc. macht. Weil ich muss erklären, dass meiner klasse und ich habe selbe keine Ahnung.


----------



## Robat (12. Okt 2017)

Fang doch mal selber an.
Du musst doch einfach nur die englischen Wörter ins deutsche übersetzen und dann kannst du schon viel ableiten


----------

