File size: 1,042 Bytes
bcf0302
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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)