更新用户界面, 修复总复习
This commit is contained in:
31
reactor.py
31
reactor.py
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user