Hey im using curses to draw my "game" in terminal, i also want to implement keystrokes for some functionality, however i see that .getch is blocking my entire loop (which is pretty understandable), what can i do to prevent that?
def run(self):
self.overworld.spawn_entities()
while True:
self.overworld.update()
self.overworld.draw()
c = self.overworld.stdscr.getch()
if c != curses.ERR:
if c == ord("q"):
break
if c == curses.KEY_MOUSE:
_, mx, my, _, state = curses.getmouse()
print(mx, my, state)
if state & curses.BUTTON1_PRESSED:
entity = self.overworld.get_entity_at(mx, my)
print(entity)
if entity:
self.show_entity_info(self.overworld.stdscr, entity)
if self.system_info:
self.system_info.draw()
time.sleep(MINUTE_LENGTH)