Exemplo n.º 1
0
    def update(self):
        '''Update part from the loop. All logic should be managed from here.'''
        if self.frames % self.speed == 0:
            if self.piece.can_place(
                    #piece=self.piece,
                    piece=self.piece.shape,
                    grid=self.grid,
                    dy=1,
            ) == PieceState.CAN_PLACE:
                self.piece.pos_y += 1
                if self.is_human:
                    self.data_gen.write_grid(self.gGrid, self.piece.piece_type,
                                             0)
            else:
                # Place piece
                self.grid.set_piece(self.piece)
                self.grid.check_completition()
                self.piece = Piece.generate_piece(randint(1, 7))

        self.gGrid.grid = deepcopy(self.grid.grid)
        self.gGrid.set_piece(self.piece)
Exemplo n.º 2
0
    def __init__(self):
        pygame.init()

        self.display = pygame.display.set_mode((600, 660), pygame.SRCALPHA, 32)

        # Game level (Probably should modify this)
        self.frames = 0
        self.speed = 15

        # Game essentials
        self.grid = Grid()
        self.gGrid = Grid()
        self.piece = Piece.generate_piece(randint(1, 7))

        # Data generation for the neural network
        self.data_gen = DataGenerator()

        # Arg flags
        self.is_human = True
        self.debug_mode = False
        self.model = None
        self.flag_setup()