#๐Ÿ”’ curses.getch blocking loop

7 messages ยท Page 1 of 1 (latest)

solid heath
#

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)
solar ermineBOT
#

@solid heath

Python help channel opened

Remember to:

  • Ask your Python question, not if you can ask or if there's an expert who can help.
  • Show a code sample as text (rather than a screenshot) and the error message, if you've got one.
  • Explain what you expect to happen and what actually happens.

:warning: Do not pip install anything that isn't related to your question, especially if asked to over DMs.

broken swallow
solid heath
#

Thank you so much it worked!

solar ermineBOT
#
Python help channel closed

This help channel has been closed and it's no longer possible to send messages here. If your question wasn't answered, feel free to create a new post in #1035199133436354600. To maximize your chances of getting a response, check out this guide on asking good questions.