↑ UP | Function propose_moves |
∇ Z←propose_moves State;Len;Max_Len;Moves;∆TCNT [1] ⍝ [2] ⍝⍝ propose a move that makes progress (= placse more sub-cubes) [3] ⍝ [4] →(State≡∆Initial_State)↓1+↑⎕LC ◊ ' No proposal (cube solved)' ◊ Z←'' ◊ →0 [5] ∆TCNT←0 ◊ Len←1 ◊ Max_Len←↑Moves←print_level State ◊ Moves←1↓Moves [6] LOOP: Z←State propose_len_moves Moves Len [7] →(↑⍴∈Z)/0 ⍝ success [8] →(Max_Len > Len←Len+1)/LOOP [9] 'No moves found' ◊ Z←0 3⍴0 ∇ |