style: 代码格式化
This commit is contained in:
@@ -3,10 +3,4 @@ from .procession import Procession
|
||||
from .fission import Fission
|
||||
from .phaser import Phaser
|
||||
|
||||
__all__ = [
|
||||
"PhaserState",
|
||||
"ProcessionState",
|
||||
"Procession",
|
||||
"Fission",
|
||||
"Phaser"
|
||||
]
|
||||
__all__ = ["PhaserState", "ProcessionState", "Procession", "Fission", "Phaser"]
|
||||
|
||||
@@ -3,27 +3,34 @@ import heurams.kernel.puzzles as puz
|
||||
import random
|
||||
from .states import PhaserState
|
||||
|
||||
class Fission():
|
||||
|
||||
class Fission:
|
||||
"""裂变器: 单原子调度展开器"""
|
||||
def __init__(self, atom: pt.Atom, phase = PhaserState.RECOGNITION):
|
||||
|
||||
def __init__(self, atom: pt.Atom, phase=PhaserState.RECOGNITION):
|
||||
self.atom = atom
|
||||
self.orbital_schedule = atom.registry["orbital"]["schedule"][phase.value] # type: ignore
|
||||
self.orbital_puzzles = atom.registry["orbital"]["puzzles"]
|
||||
#print(self.orbital_schedule)
|
||||
self.orbital_schedule = atom.registry["orbital"]["schedule"][phase.value] # type: ignore
|
||||
self.orbital_puzzles = atom.registry["orbital"]["puzzles"]
|
||||
# print(self.orbital_schedule)
|
||||
self.puzzles = list()
|
||||
for item, possibility in self.orbital_schedule: # type: ignore
|
||||
for item, possibility in self.orbital_schedule: # type: ignore
|
||||
if not isinstance(possibility, float):
|
||||
possibility = float(possibility)
|
||||
while possibility > 1:
|
||||
self.puzzles.append({
|
||||
"puzzle": puz.puzzles[self.orbital_puzzles[item]["__origin__"]],
|
||||
"alia": item
|
||||
})
|
||||
self.puzzles.append(
|
||||
{
|
||||
"puzzle": puz.puzzles[self.orbital_puzzles[item]["__origin__"]],
|
||||
"alia": item,
|
||||
}
|
||||
)
|
||||
possibility -= 1
|
||||
if random.random() <= possibility:
|
||||
self.puzzles.append({
|
||||
"puzzle": puz.puzzles[self.orbital_puzzles[item]["__origin__"]],
|
||||
"alia": item
|
||||
})
|
||||
self.puzzles.append(
|
||||
{
|
||||
"puzzle": puz.puzzles[self.orbital_puzzles[item]["__origin__"]],
|
||||
"alia": item,
|
||||
}
|
||||
)
|
||||
|
||||
def generate(self):
|
||||
yield from self.puzzles
|
||||
|
||||
@@ -4,8 +4,10 @@ import heurams.kernel.particles as pt
|
||||
from .states import PhaserState, ProcessionState
|
||||
from .procession import Procession
|
||||
|
||||
class Phaser():
|
||||
|
||||
class Phaser:
|
||||
"""移相器: 全局调度阶段管理器"""
|
||||
|
||||
def __init__(self, atoms: list[pt.Atom]) -> None:
|
||||
new_atoms = list()
|
||||
old_atoms = list()
|
||||
@@ -17,10 +19,14 @@ class Phaser():
|
||||
old_atoms.append(i)
|
||||
self.processions = list()
|
||||
if len(old_atoms):
|
||||
self.processions.append(Procession(old_atoms, PhaserState.QUICK_REVIEW, "初始复习"))
|
||||
self.processions.append(
|
||||
Procession(old_atoms, PhaserState.QUICK_REVIEW, "初始复习")
|
||||
)
|
||||
if len(new_atoms):
|
||||
self.processions.append(Procession(new_atoms,PhaserState.RECOGNITION, "新记忆"))
|
||||
self.processions.append(Procession(atoms,PhaserState.FINAL_REVIEW, "总体复习"))
|
||||
self.processions.append(
|
||||
Procession(new_atoms, PhaserState.RECOGNITION, "新记忆")
|
||||
)
|
||||
self.processions.append(Procession(atoms, PhaserState.FINAL_REVIEW, "总体复习"))
|
||||
|
||||
def current_procession(self):
|
||||
for i in self.processions:
|
||||
@@ -29,4 +35,4 @@ class Phaser():
|
||||
self.state = i.phase
|
||||
return i
|
||||
self.state = PhaserState.FINISHED
|
||||
return 0
|
||||
return 0
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import heurams.kernel.particles as pt
|
||||
from .states import PhaserState, ProcessionState
|
||||
|
||||
class Procession():
|
||||
|
||||
class Procession:
|
||||
"""队列: 标识单次记忆流程"""
|
||||
|
||||
def __init__(self, atoms: list, phase: PhaserState, name: str = ""):
|
||||
self.atoms = atoms
|
||||
self.queue = atoms.copy()
|
||||
@@ -12,7 +14,7 @@ class Procession():
|
||||
self.phase = phase
|
||||
self.state: ProcessionState = ProcessionState.RUNNING
|
||||
|
||||
def forward(self, step = 1):
|
||||
def forward(self, step=1):
|
||||
self.cursor += step
|
||||
if self.cursor == len(self.queue):
|
||||
self.state = ProcessionState.FINISHED
|
||||
@@ -20,22 +22,22 @@ class Procession():
|
||||
self.state = ProcessionState.RUNNING
|
||||
try:
|
||||
self.current_atom = self.queue[self.cursor]
|
||||
return 1 # 成功
|
||||
return 1 # 成功
|
||||
except IndexError as e:
|
||||
print(f"{e}")
|
||||
return 0
|
||||
|
||||
def append(self, atom = None):
|
||||
def append(self, atom=None):
|
||||
if atom == None:
|
||||
atom = self.current_atom
|
||||
if self.queue[len(self.queue) - 1] != atom or len(self) <= 1:
|
||||
self.queue.append(atom)
|
||||
self.queue.append(atom)
|
||||
|
||||
def __len__(self):
|
||||
return (len(self.queue) - self.cursor)
|
||||
return len(self.queue) - self.cursor
|
||||
|
||||
def process(self):
|
||||
return (self.cursor)
|
||||
return self.cursor
|
||||
|
||||
def total_length(self):
|
||||
return len(self.queue)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from enum import Enum, auto
|
||||
|
||||
|
||||
class PhaserState(Enum):
|
||||
UNSURE = "unsure"
|
||||
QUICK_REVIEW = "quick_review"
|
||||
@@ -7,6 +8,7 @@ class PhaserState(Enum):
|
||||
FINAL_REVIEW = "final_review"
|
||||
FINISHED = "finished"
|
||||
|
||||
|
||||
class ProcessionState(Enum):
|
||||
RUNNING = auto()
|
||||
FINISHED = auto()
|
||||
FINISHED = auto()
|
||||
|
||||
Reference in New Issue
Block a user