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)
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()