Exemplo n.º 1
0
    def __init__(self):
        QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.setupUi(self)

        # Important property that deletes all widgets (including QTimer)
        # on close.
        self.setAttribute(Qt.WA_DeleteOnClose)

        # Variables
        self.end = False
        self.timer_interval = 350
        self.key = Qt.Key_Up
        self.snake = create_snake()
        self.scene = QGraphicsScene()
        self.squares_xy, squares = create_squares(9, 9)

        self.bonuses = create_bonuses(self.snake, self.squares_xy)
        '''Timer is used to repeat self.turn_loop and detect if key was changed.
        It is stopped by default and starts after self.start() is called.'''
        self.timer = QTimer(self)

        self.draw_field(self.bonuses, squares, self.snake)
        self.QGraph_field.setScene(self.scene)
        self.print_text(print_main())

        # Connecting signals to slots
        self.QBut_main.clicked.connect(lambda: self.print_text(print_main()))
        self.QBut_reset.clicked.connect(self.reset)
        self.QBut_rules.clicked.connect(lambda: self.print_text(print_rules()))
        self.QBut_start.clicked.connect(self.start)

        self.timer.timeout.connect(self.turn_loop)
Exemplo n.º 2
0
    def reset(self):
        self.timer.stop()

        self.end = False
        self.key = Qt.Key_Up
        self.snake = create_snake()
        self.squares_xy, squares = create_squares(9, 9)

        self.bonuses = create_bonuses(self.snake, self.squares_xy)

        self.scene.clear()
        self.draw_field(self.bonuses, squares, self.snake)
        self.print_text(print_main())