def __init__(self, anno=1000, estimate_people=100): # список всех людей в социуме, на данный момент включая мертвых (проверить) self.roll_genome() Socium.class_var_init(estimate_people) Human.init_files() Family.init_files() FoodDistribution.init_files() self.soc_list: List[Human] = list() self.families: List[Family] = list() self.stat = statistics.Soc_stat(self) self.soc_food = FoodDistribution(self) self.person_stat_file = open('./person_features_table.csv', 'w', encoding="UTF16") self.person_stat = csv.writer(self.person_stat_file, delimiter='\t', lineterminator='\n') pers_stat_header = list() for i in genetics.GN: pers_stat_header.append(i) hextend = ['макс. возр. отца', 'возр. отца при рождении', 'макс. возр. матери', 'возр. матери при рождении', 'каким по счету родился', 'кол-во супругов', 'кол-во детей', 'возраст смерти'] pers_stat_header.extend(hextend) self.person_stat.writerow(pers_stat_header) # текущий год self.anno: Anno = Anno(anno) # локальный счетчик смертей, после появления чужака обнуляется self.short_death_count: int = 0 # общий счетчик смертей self.global_death_count: int = 0 # давно умершие родственники (чтобы зря не крутить большие циклы) self.forgotten: List = [] self.people_alive: List = []