fix: 部分修正

This commit is contained in:
2025-12-27 01:40:25 +08:00
parent c9cae53215
commit 0f00501620
4 changed files with 11 additions and 8 deletions

View File

@@ -52,6 +52,8 @@ class MemScreen(Screen):
# logger.debug(self.phaser.state) # logger.debug(self.phaser.state)
self.procession: Procession = self.phaser.current_procession() # type: ignore self.procession: Procession = self.phaser.current_procession() # type: ignore
self.atom: pt.Atom = self.procession.current_atom self.atom: pt.Atom = self.procession.current_atom
self.fission = self.procession.current_fission
self.left_fission = 1
# logger.debug(self.phaser.state) # logger.debug(self.phaser.state)
# self.procession.forward(1) # self.procession.forward(1)
@@ -61,12 +63,13 @@ class MemScreen(Screen):
def puzzle_widget(self): def puzzle_widget(self):
try: try:
self.fission = Fission(self.atom, self.phaser.state)
puzzle_debug = next(self.fission.generate()) puzzle_debug = next(self.fission.generate())
self.left_fission = 1
return shim.puzzle2widget[puzzle_debug["puzzle"]]( return shim.puzzle2widget[puzzle_debug["puzzle"]](
atom=self.atom, alia=puzzle_debug["alia"] atom=self.atom, alia=puzzle_debug["alia"]
) )
except (KeyError, StopIteration, AttributeError) as e: except (KeyError, StopIteration, AttributeError) as e:
self.left_fission = 0
logger.debug(f"调度展开出错: {e}") logger.debug(f"调度展开出错: {e}")
return Static("无法生成谜题") return Static("无法生成谜题")
@@ -88,6 +91,7 @@ class MemScreen(Screen):
def load_puzzle(self): def load_puzzle(self):
self.atom: pt.Atom = self.procession.current_atom self.atom: pt.Atom = self.procession.current_atom
self.fission = self.procession.current_fission
container = self.query_one("#puzzle-container") container = self.query_one("#puzzle-container")
for i in container.children: for i in container.children:
i.remove() i.remove()
@@ -109,7 +113,7 @@ class MemScreen(Screen):
return return
if new_rating == -1: if new_rating == -1:
return return
forwards = 1 if new_rating >= 4 else 0 forwards = 1 if new_rating >= 4 and self.left_fission == 0 else 0
self.rating = -1 self.rating = -1
logger.debug(f"试图前进: {"允许" if forwards else "禁止"}") logger.debug(f"试图前进: {"允许" if forwards else "禁止"}")
if forwards: if forwards:

View File

@@ -64,8 +64,6 @@ class MCQPuzzle(BasePuzzleWidget):
setting: Setting = self.atom.registry["nucleon"].metadata["orbital"]["puzzles"][ setting: Setting = self.atom.registry["nucleon"].metadata["orbital"]["puzzles"][
self.alia self.alia
] ]
logger.debug(f"Puzzle Setting: {setting}")
logger.debug(f"WIRED INDEX: {len(self.inputlist)}")
if len(self.inputlist) > len(self.puzzle.options): if len(self.inputlist) > len(self.puzzle.options):
logger.debug("ERR IDX") logger.debug("ERR IDX")
logger.debug(self.inputlist) logger.debug(self.inputlist)

View File

@@ -1,6 +1,7 @@
import heurams.kernel.particles as pt import heurams.kernel.particles as pt
from heurams.services.logger import get_logger from heurams.services.logger import get_logger
from .fission import Fission
from .states import PhaserState, ProcessionState from .states import PhaserState, ProcessionState
logger = get_logger(__name__) logger = get_logger(__name__)
@@ -22,6 +23,7 @@ class Procession:
self.cursor = 0 self.cursor = 0
self.name = name self.name = name
self.phase = phase self.phase = phase
self.current_fission = Fission(self.current_atom, self.phase)
self.state: ProcessionState = ProcessionState.RUNNING self.state: ProcessionState = ProcessionState.RUNNING
logger.debug("Procession 初始化完成, 队列长度=%d", len(self.queue)) logger.debug("Procession 初始化完成, 队列长度=%d", len(self.queue))
@@ -36,6 +38,7 @@ class Procession:
try: try:
logger.debug("cursor 更新为: %d", self.cursor) logger.debug("cursor 更新为: %d", self.cursor)
self.current_atom = self.queue[self.cursor] self.current_atom = self.queue[self.cursor]
self.current_fission = Fission(self.current_atom, self.phase)
logger.debug("当前原子更新为: %s", self.current_atom.ident) logger.debug("当前原子更新为: %s", self.current_atom.ident)
return 1 # 成功 return 1 # 成功
except IndexError as e: except IndexError as e:

View File

@@ -3,8 +3,6 @@ from heurams.services.logger import get_logger
logger = get_logger(__name__) logger = get_logger(__name__)
ver = "0.4.3" ver = "0.4.4"
stage = "prototype" stage = "prototype"
codename = "fledge" # 雏鸟, 0.4.x 版本 codename = "fledge"
logger.info("HeurAMS 版本: %s (%s), 阶段: %s", ver, codename, stage)