import random class MarriagePlugin: def __init__(self, marriage_rate): self.marriage_rate = marriage_rate def perform_marriages(self, characters): # 随机一些表观年龄>20的角色结婚 eligible_characters = [character for character in characters if character.apparent_age > 20 and character.partner is None] new_couple_count = 0 for _ in range(int(len(eligible_characters) * self.marriage_rate)): character = random.choice(eligible_characters) partner = random.choice(eligible_characters) if character != partner and character.gender != partner.gender and character.partner is None and partner.partner is None: character.marry(partner) new_couple_count += 1 print(f"{new_couple_count}对新人结婚了") def set_marriage_rate(self, marriage_rate): self.marriage_rate = marriage_rate # 统一插件接口 def execute(self, *args, **kwargs): self.perform_marriages(*args, **kwargs)