更新用户界面, 修复总复习

This commit is contained in:
2025-09-14 01:54:33 +08:00
parent 50a5b9b108
commit 19d0e32b6f
12 changed files with 93 additions and 49 deletions

View File

@@ -5,6 +5,33 @@ import auxiliary as aux
import compositions as comps
import random
#from pprint import pprint as print # debug
class Glimpse():
"""轻量级只读, 用于状态指示"""
def __init__(self, nucleon_union: pt.NucleonUnion):
self.name = nucleon_union.name
self.nuc_u = nucleon_union
self.elt_u = self.nuc_u.linked_electron_union()
self.lastest_date = -1
self.next_date = -1
self.avg_efactor = 0
self.total_num = 0
self.activated_num = 0
self.is_initialized = 0
if self.elt_u != 0:
self.is_initialized = 1
self.total_num = len(self.elt_u.electrons)
for i in self.elt_u.electrons:
self.next_date = max(self.next_date, i['next_date'])
self.lastest_date = max(self.lastest_date, i['last_date'])
if i['is_activated']:
self.avg_efactor += i['efactor']
self.activated_num += 1
if self.activated_num == 0:
return
self.avg_efactor = round(self.avg_efactor / self.activated_num, 2)
return
class Apparatus():
"""反应器对象, 决策一个原子的不同记忆方式, 并反馈到布局"""
def __init__(self, screen, reactor, atom):
@@ -44,6 +71,7 @@ class Reactor():
self.screen = screen
self.electron_dict = electron_file.electrons_dict
self.quality_dict = {}
def electron_dict_get_fallback(key) -> pt.Electron:
value = self.electron_dict.get(key)
# 如果值不存在,则设置默认值
@@ -101,6 +129,9 @@ class Reactor():
if stage == 1 and len(processions[1]) == 0:
stage = 2
ret = 2
if stage == 1 and len(processions[2]) == 0:
stage = 3
ret = 3
self.set_round(title=titles[stage], procession=processions[stage])
return ret