MCPcopy Create free account
hub / github.com/rlcode/reinforcement-learning / mainloop

Method mainloop

1-grid-world/env.py:318–337  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

316 max(0, min(HEIGHT - 1, self.agent_pos[1] + dy))]
317
318 def mainloop(self):
319 self._screen = _open(self.title, (WIDTH * UNIT, HEIGHT * UNIT + self.BAR))
320 self._font = pygame.font.SysFont(None, 22)
321 self._small = pygame.font.SysFont(None, 16)
322 while True:
323 for e in pygame.event.get():
324 if e.type == pygame.QUIT:
325 pygame.quit(); return
326 if e.type == pygame.MOUSEBUTTONDOWN and e.button == 1:
327 for rect, btn in zip(self._btn_rects(), self.buttons):
328 if rect.collidepoint(e.pos) and self._btn_enabled(btn):
329 label = btn[0]
330 self._press_label = label
331 self._press_frames = 6
332 self._render() # draw the pressed state immediately
333 btn[1]()
334 self.clicks[label] = self.clicks.get(label, 0) + 1
335 break
336 self._render()
337 time.sleep(0.03)
338
339 @staticmethod
340 def _btn_enabled(btn):

Callers 2

Calls 4

_btn_rectsMethod · 0.95
_btn_enabledMethod · 0.95
_renderMethod · 0.95
_openFunction · 0.85

Tested by

no test coverage detected