@Override
	public void doAction() {
		Maze maze = session.getMaze();
		for (int i = 0; i < maze.getWidth(); i++){
			for (int j = 0; j < maze.getHeight(); j++){
				Room room = maze.getRooms().get(i).get(j);
				if (room != null){
					if (!room.isLocked()){
						if (maze.getPlayer().getPosition().getRoom() != room){
							for (Monster monster: room.getMonsters()){
								monster.actIdle();
							}
						} else {
							for (Monster monster: room.getMonsters()){
								monster.target(maze.getPlayer());
							}
						}
						for (Iterator<Monster> it = room.getMonsters().iterator(); it.hasNext();){
							Monster monster = it.next();
							if (monster.isDead()){
								monster.die();
								it.remove();
							}
						}					
					}
				}
			}
		}
	}