def generate_platforms(): try: if self.completion < 100: player_x = self.test_player.x() free_to_spawn = True platforms_to_add = [] num_to_spawn = randint(2, 10) counter = 0 for p in self.platforms: if player_x + self.window_width / 4 < p.x < player_x + self.window_width: free_to_spawn = False if free_to_spawn: while counter < num_to_spawn: can_be_added = True platform_to_add = Platform( randint( player_x + self.window_width / 2, player_x + self.window_width / 2 + 150), randint(100, 500), int(self.platform_specs[0]), int(self.platform_specs[1]), self.enemy_specs) if self.rightKeydown: platform_to_add.set_x_velocity( -self.test_player.speed) for plat in platforms_to_add: if -40 < platform_to_add.x - plat.x < 40 or -80 < platform_to_add.y - plat.y < 80: can_be_added = False if can_be_added: platforms_to_add.append(platform_to_add) if platform_to_add.enemy != None: self.enemies.append( platform_to_add.enemy) counter = counter + 1 for p in platforms_to_add: self.platforms.append(p) self.scene.addItem(p) if p.health_package != None: self.scene.addItem(p.health_package) for e in self.enemies: if self.rightKeydown: e.x_velocity = -int(self.test_player.speed) e.set_p_speed(self.test_player.speed) self.scene.addItem(e) else: if not self.goal_added: goalPost1 = Platform(self.window_width + 600, 300 - 60, 20, 60) goalPost2 = Platform(self.window_width + 700, 300 - 60, 20, 60) goalBar = Platform(self.window_width + 600, 300 - 70, 120, 20) goalPost1.goal = True goalPost2.goal = True goalBar.goal = True plat_to_add = Platform(self.window_width, 300, 800, 25) plat_to_add.setBrush( QtGui.QBrush(QtGui.QColor(214, 255, 48), QtCore.Qt.SolidPattern)) goalPost1.setBrush( QtGui.QBrush(QtGui.QColor(196, 255, 0), QtCore.Qt.SolidPattern)) goalPost2.setBrush( QtGui.QBrush(QtGui.QColor(196, 255, 0), QtCore.Qt.SolidPattern)) goalBar.setBrush( QtGui.QBrush(QtGui.QColor(196, 255, 0), QtCore.Qt.SolidPattern)) if self.rightKeydown: goalPost1.set_x_velocity( -self.test_player.speed) goalPost2.set_x_velocity( -self.test_player.speed) goalBar.set_x_velocity(-self.test_player.speed) plat_to_add.set_x_velocity( -self.test_player.speed) self.scene.addItem(plat_to_add) self.scene.addItem(goalPost1) self.scene.addItem(goalPost2) self.scene.addItem(goalBar) self.platforms.append(goalPost1) self.platforms.append(goalPost2) self.platforms.append(goalBar) self.platforms.append(plat_to_add) self.goal_added = True except Exception as e: print(e)