public void move() {
    setY(getDY() + (int)getY());
    setX(getDX() + (int)getX());

    recalculateDY();

        // Animate player by changing the image every x times, dependant on current game speed.

        // Increase ticker by 1/2 of speed
    double tickerIncrease = Board.getInstance().getSpeed() / 2;
        // Increase by at least 1
    if(tickerIncrease < 1) 
        tickerIncrease = 1;
        // Increase ticker
    ticker = (ticker + tickerIncrease);
        // Set ticker to 0 every 30 steps
    if(ticker > 30)
        ticker = 0;
        // When ticker is 0 change image
    if(ticker == 0) {
        imageStatus = (imageStatus + 1)%2;
    }

        // Don't let the player run out of the left or the right
    if (getX() < 1) {
        setX(1);
    }
    if(getX() > Collision.width) {
        setX(Collision.width);
    }

        // Player fell down - stop game
    if (getY() > Collision.height) {
        Board.getInstance().setEndgameMessage("Greet the concrete.");
        Board.getInstance().stopGame();
    }

    if (getY() < 0) {
        Board.getInstance().setEndgameMessage("Greet the sky.");
        Board.getInstance().stopGame();
    }
}