def on_list

minebender-game@1.0.0.0 · proof_assist.bend:182

import minebender-game@1.0.0.0/proof_assist.bend as ProofAssist
import Base
import minebender-game@1.0.0.0/types.bend as T
import minebender-game@1.0.0.0/board.bend as B
import minebender-game@1.0.0.0/game.bend as G
import minebender-game@1.0.0.0/proof_cells.bend as PS

182# Every cell the assist may look at is on the board.
183def on_list(+w: Nat, +h: Nat, +shown: T.Grid(Bool), +k: Nat) ->
184  {PS.allp(~PS.WH, ~PS.onb, PS.WH{w, h}, G.safe_list(w, h, shown, k)) == True{} : Bool}:
185  +cs = B.cells(w, h)
186  +es = G.edges(w, h, shown, cs)
187  PS.allp_append(~PS.WH, ~PS.onb, PS.WH{w, h}, G.turn(es, k), List.append(&2, T.Pos, G.turn(cs, k), cs),
188    on_turn(w, h, es, k, on_edges(w, h, shown, cs, PS.cells_on(w, h))),
189    PS.allp_append(~PS.WH, ~PS.onb, PS.WH{w, h}, G.turn(cs, k), cs, on_turn(w, h, cs, k, PS.cells_on(w, h)), PS.cells_on(w, h)))

Uses (16)

Used by (1)