48 lines
1.1 KiB
Java
48 lines
1.1 KiB
Java
|
|
/**
|
|
* Klasse Pacman.
|
|
*
|
|
* @author
|
|
*/
|
|
public class Pacman {
|
|
/*---------------Attribute-----*/
|
|
int x;
|
|
int y;
|
|
Game game;
|
|
int gameFrame;
|
|
|
|
/*---------------Konstruktor---*/
|
|
public Pacman(Game game) {
|
|
x = 20; y = 20;
|
|
this.game = game;
|
|
}
|
|
|
|
/*---------------Methoden------*/
|
|
public void keyPressed(int keyCode) {
|
|
int oldX = x; int oldY = y;
|
|
if (keyCode == game.RIGHT) {
|
|
x += game.cellSize;
|
|
}
|
|
if (keyCode == game.LEFT) {
|
|
x -= game.cellSize;
|
|
}
|
|
x = (x + (11 * game.cellSize)) % (11 * game.cellSize);
|
|
if (keyCode == game.UP) {
|
|
y -= game.cellSize;
|
|
}
|
|
if (keyCode == game.DOWN) {
|
|
y += game.cellSize;
|
|
}
|
|
y = (y + (11 * game.cellSize)) % (11 * game.cellSize);
|
|
if (!game.wantMove(oldX/game.cellSize, oldY/game.cellSize, x/game.cellSize, y/game.cellSize)) {
|
|
x = oldX;
|
|
y = oldY;
|
|
}
|
|
}
|
|
|
|
public void draw() {
|
|
gameFrame++;
|
|
game.render.drawPacman(x, y, (gameFrame/12) % 2 == 0);
|
|
}
|
|
}
|