实现 Reactor
This commit is contained in:
20
src/heurams/kernel/reactor/fission.py
Normal file
20
src/heurams/kernel/reactor/fission.py
Normal file
@@ -0,0 +1,20 @@
|
||||
import heurams.kernel.particles as pt
|
||||
import heurams.kernel.puzzles as puz
|
||||
import random
|
||||
from .states import PhaserState
|
||||
|
||||
class Fission():
|
||||
"""裂变器: 单原子调度展开器"""
|
||||
def __init__(self, atom: pt.Atom, phase = PhaserState.RECOGNITION):
|
||||
self.atom = atom
|
||||
self.orbital = atom.register["orbital"]["puzzle_config"][phase]
|
||||
self.puzzles = list()
|
||||
for item, possibility in self.orbital:
|
||||
while possibility > 1:
|
||||
self.puzzles.append(puz.puzzles[item])
|
||||
possibility -= 1
|
||||
if random.random() <= possibility:
|
||||
self.puzzles.append(puz.puzzles[item])
|
||||
|
||||
def iterator(self):
|
||||
yield from self.puzzles
|
||||
Reference in New Issue
Block a user