fix: 部分修正
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user