def check_tower (self): """Check whether several elements can make a tower.""" for slots in (self.front_slots, self.back_slots): if slots[0].pawn is not None and slots[1].pawn is not None: assert slots[0].pawn.kind != 'tower' tower = RoundObstacle (100, 1) tower.kind = 'tower' tower.tower = [ slots[0].pawn, slots[1].pawn ] slots[0].pawn, slots[1].pawn = tower, None self.table.add_pawn (tower) if slots[0].pawn is not None and slots[0].pawn.kind == 'tower' \ and slots[2].pawn and slots[2].door_motor.angle: slots[0].pawn.tower.append (slots[2].pawn) slots[2].pawn = None if slots[0].pawn is None and slots[1].pawn is None \ and slots[2].pawn and slots[2].door_motor.angle: slots[0].pawn, slots[2].pawn = slots[2].pawn, None