예제 #1
0
    def start_tetris(self):
        self.tetris = Tetris(self.app.ipcon)

        if self.tetris.okay:
            self.tetris.run_game_loop()

        self.tetris = None
예제 #2
0
class TetrisWidget(QWidget, Ui_Tetris):
    tetris = None
    thread = None

    def __init__(self, parent, app):
        super().__init__()

        self.app = app

        self.setupUi(self)

        self.button_a.pressed.connect(lambda: self.button_press('a'))
        self.button_s.pressed.connect(lambda: self.button_press('s'))
        self.button_d.pressed.connect(lambda: self.button_press('d'))
        self.button_k.pressed.connect(lambda: self.button_press('k'))
        self.button_l.pressed.connect(lambda: self.button_press('l'))
        self.button_r.pressed.connect(lambda: self.button_press('r'))

    def start_tetris(self):
        self.tetris = Tetris(self.app.ipcon)

        if self.tetris.okay:
            self.tetris.run_game_loop()

        self.tetris = None

    def button_press(self, button):
        if self.tetris:
            self.tetris.kp.key_queue.put(button)

    def start(self):
        self.thread = Thread(target=self.start_tetris)
        self.thread.daemon = True
        self.thread.start()

    def stop(self):
        if self.tetris:
            self.tetris.loop = False
            self.tetris.kp.key_queue.put('q')