TUPLE: board { width integer } { height integer } rows ;
: make-rows ( width height -- rows )
- iota [ drop f <array> ] with map ;
+ <iota> [ drop f <array> ] with map ;
: <board> ( width height -- board )
2dup make-rows board boa ;
: block-free? ( board block -- ? ) block not ;
: block-in-bounds? ( board block -- ? )
- [ first swap width>> iota bounds-check? ]
- [ second swap height>> iota bounds-check? ] 2bi and ;
+ [ first swap width>> <iota> bounds-check? ]
+ [ second swap height>> <iota> bounds-check? ] 2bi and ;
: location-valid? ( board block -- ? )
2dup block-in-bounds? [ block-free? ] [ 2drop f ] if ;