diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2012-12-13 22:14:24 -0800 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2012-12-13 22:14:24 -0800 |
commit | 87e98e00e0ca5ac4229091aa9bb0e5c09093f50f (patch) | |
tree | b3e73ba3a22d1e04a6dd87111db27ac7d698d5f3 /src/tetris/gui/events |
Tetris project from TCSS305 class.
Original project was in SVN on the school servers, so the
versioning history is gone.
Diffstat (limited to 'src/tetris/gui/events')
-rw-r--r-- | src/tetris/gui/events/TetrisKeyListener.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/tetris/gui/events/TetrisKeyListener.java b/src/tetris/gui/events/TetrisKeyListener.java new file mode 100644 index 0000000..10b999e --- /dev/null +++ b/src/tetris/gui/events/TetrisKeyListener.java @@ -0,0 +1,69 @@ +/* + * Jesse Morgan <jesterpm@u.washington.edu> + * + * TCSS 305 � Autumn 2009 + * Tetris Project + * 17 November 2009 + */ + +package tetris.gui.events; + +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; + +import tetris.board.TetrisBoard; + +/** + * Keyboard Input handler for Tetris board. + * + * @author Jesse Morgan <jesterpm@u.washington.edu> + * @version 1.0 30 Nov 2009 + */ +public class TetrisKeyListener extends KeyAdapter { + /** + * The tetris board we update. + */ + + private final TetrisBoard my_board; + + /** + * Constructor. + * + * @param the_board The board to update. + */ + public TetrisKeyListener(final TetrisBoard the_board) { + super(); + + my_board = the_board; + } + + @Override + public void keyPressed(final KeyEvent the_event) { + super.keyPressed(the_event); + + switch (the_event.getKeyCode()) { + case KeyEvent.VK_LEFT: + my_board.moveLeft(); + break; + + case KeyEvent.VK_RIGHT: + my_board.moveRight(); + break; + + case KeyEvent.VK_UP: + my_board.rotateRight(); + break; + + case KeyEvent.VK_DOWN: + my_board.moveDown(); + break; + + case KeyEvent.VK_SPACE: + my_board.dropPiece(); + break; + + default: + } + } + +} |