public void changePosition(ArrayList <Rectangle>walls, ArrayList <Bullet> bullets)
	{
		// Temporary. Makes the monster move random.
		if (Math.random() < .5) direction.y *= -1;
		
		// keep him on the screen
		if ( (position.x + direction.x > Map.WIDTH) || (position.x + direction.x < 0))
			direction.x *= -1;
		else if ( (position.y + direction.y > Map.HEIGHT) || (position.y + direction.y < Statusbar.Y_START_POSITION))
			direction.y *= -1;
		
		Rectangle temp = new Rectangle(
				position.x + direction.x, 
				position.y + direction.y,
				HEIGHT, WIDTH); 
		
		// If he hits a wall, bounce off
		for (int i=0; i<walls.size(); i++)
		{
			if (temp.intersects(walls.get(i)))
			{
				direction.setLocation(direction.x * -1, direction.y * -1);
				break;
			}
		}
		
		// finally: move, update the box and figure out where he is
		position.x += direction.x;
		position.y += direction.y;
		box.setRect(position.x, position.y, WIDTH, HEIGHT);
		determineQuadrant();		
		
		// temporary. shoot down once in a while
		if ( (Math.random() < .1) && (position.y+HEIGHT+1<Map.HEIGHT) )
			bullets.add(new Bullet(position.x, position.y + HEIGHT + 1, Player.DOWN));
	}