@Override
	public void run() {
		while (true) {
			player.update();
			currentSprite = anim.getImage();
			
			if (playerState == PlayerState.Combat) {
				if (!player.getLocation().combat(player)){
					playerState = PlayerState.Dead;
				} else playerState = PlayerState.Alive;
			}
			else if (player.getLocation().isOccupied() && player.isAlive()) {
				playerState = PlayerState.Seen;
				player.stopAll();
			}
			
			try {
				updateBackground();
			} catch (Exception e1) {
				// TODO Auto-generated catch block
				System.out.print(e1.getMessage());
			}
			updateTiles();
			bg1.update();
			animate();
			repaint();

			try {
				Thread.sleep(17);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}