|  | @@ -59,7 +59,7 @@ class FourRoomQAEnv(MiniGridEnv):
 | 
	
		
			
				|  |  |          )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def _genGrid(self, width, height):
 | 
	
		
			
				|  |  | -        grid = Grid(width, height)
 | 
	
		
			
				|  |  | +        self.grid = Grid(width, height)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # Horizontal and vertical split indices
 | 
	
		
			
				|  |  |          vSplitIdx = self._randInt(5, width-4)
 | 
	
	
		
			
				|  | @@ -99,28 +99,28 @@ class FourRoomQAEnv(MiniGridEnv):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              # Horizontal walls
 | 
	
		
			
				|  |  |              for i in range(w):
 | 
	
		
			
				|  |  | -                grid.set(x + i, y, Wall(room.color))
 | 
	
		
			
				|  |  | -                grid.set(x + i, y + h - 1, Wall(room.color))
 | 
	
		
			
				|  |  | +                self.grid.set(x + i, y, Wall(room.color))
 | 
	
		
			
				|  |  | +                self.grid.set(x + i, y + h - 1, Wall(room.color))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              # Vertical walls
 | 
	
		
			
				|  |  |              for j in range(h):
 | 
	
		
			
				|  |  | -                grid.set(x, y + j, Wall(room.color))
 | 
	
		
			
				|  |  | -                grid.set(x + w - 1, y + j, Wall(room.color))
 | 
	
		
			
				|  |  | +                self.grid.set(x, y + j, Wall(room.color))
 | 
	
		
			
				|  |  | +                self.grid.set(x + w - 1, y + j, Wall(room.color))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # Place wall openings connecting the rooms
 | 
	
		
			
				|  |  |          hIdx = self._randInt(1, hSplitIdx-1)
 | 
	
		
			
				|  |  | -        grid.set(vSplitIdx, hIdx, None)
 | 
	
		
			
				|  |  | -        grid.set(vSplitIdx-1, hIdx, None)
 | 
	
		
			
				|  |  | +        self.grid.set(vSplitIdx, hIdx, None)
 | 
	
		
			
				|  |  | +        self.grid.set(vSplitIdx-1, hIdx, None)
 | 
	
		
			
				|  |  |          hIdx = self._randInt(hSplitIdx+1, height-1)
 | 
	
		
			
				|  |  | -        grid.set(vSplitIdx, hIdx, None)
 | 
	
		
			
				|  |  | -        grid.set(vSplitIdx-1, hIdx, None)
 | 
	
		
			
				|  |  | +        self.grid.set(vSplitIdx, hIdx, None)
 | 
	
		
			
				|  |  | +        self.grid.set(vSplitIdx-1, hIdx, None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          vIdx = self._randInt(1, vSplitIdx-1)
 | 
	
		
			
				|  |  | -        grid.set(vIdx, hSplitIdx, None)
 | 
	
		
			
				|  |  | -        grid.set(vIdx, hSplitIdx-1, None)
 | 
	
		
			
				|  |  | +        self.grid.set(vIdx, hSplitIdx, None)
 | 
	
		
			
				|  |  | +        self.grid.set(vIdx, hSplitIdx-1, None)
 | 
	
		
			
				|  |  |          vIdx = self._randInt(vSplitIdx+1, width-1)
 | 
	
		
			
				|  |  | -        grid.set(vIdx, hSplitIdx, None)
 | 
	
		
			
				|  |  | -        grid.set(vIdx, hSplitIdx-1, None)
 | 
	
		
			
				|  |  | +        self.grid.set(vIdx, hSplitIdx, None)
 | 
	
		
			
				|  |  | +        self.grid.set(vIdx, hSplitIdx-1, None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # Select a random position for the agent to start at
 | 
	
		
			
				|  |  |          self.startDir = self._randInt(0, 4)
 | 
	
	
		
			
				|  | @@ -150,9 +150,9 @@ class FourRoomQAEnv(MiniGridEnv):
 | 
	
		
			
				|  |  |                  pos = self._randPos(room, border=2)
 | 
	
		
			
				|  |  |                  if pos == self.startPos:
 | 
	
		
			
				|  |  |                      continue
 | 
	
		
			
				|  |  | -                if grid.get(*pos) != None:
 | 
	
		
			
				|  |  | +                if self.grid.get(*pos) != None:
 | 
	
		
			
				|  |  |                      continue
 | 
	
		
			
				|  |  | -                grid.set(*pos, obj)
 | 
	
		
			
				|  |  | +                self.grid.set(*pos, obj)
 | 
	
		
			
				|  |  |                  break
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              room.objects.append(obj)
 | 
	
	
		
			
				|  | @@ -182,11 +182,6 @@ class FourRoomQAEnv(MiniGridEnv):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # TODO: how many X in the Y room question type
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        #print(self.mission)
 | 
	
		
			
				|  |  | -        #print(self.answer)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        return grid
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      def step(self, action):
 | 
	
		
			
				|  |  |          if isinstance(action, dict):
 | 
	
		
			
				|  |  |              answer = action['answer']
 |