public void move(StringBuffer output) throws EndGameException {
		Direction directionToMove = getDirectionToMove();  //directionToMove should be crossable
		
		if(myPosition.isCrossable(directionToMove)){
			if (myPosition.hasCharacter(directionToMove))//attack
			{
				Character defender= myPosition.getCharacter(directionToMove);
				if(attack(defender)){
					this.myPosition=myPosition.moveCharacter(directionToMove);  //move monster to the next tile
					output.append("Monster attacked and killed " + defender +". Monster moved " + directionToMove);
					
					if(defender.isDead()) throw new EndGameException("Player has died. GAME OVER!");
					
				}
				else//player is still alive.
				{
					output.append("Monster attacked: \n" + defender.toString() +"\n"+ this.toString());
				}
			}
			else //just move the monster
			{
				this.myPosition=myPosition.moveCharacter(directionToMove);  //move character to the next tile
			}
		}
		
	}