diff options
Diffstat (limited to 'lib/no-moves.fnl')
-rw-r--r-- | lib/no-moves.fnl | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/lib/no-moves.fnl b/lib/no-moves.fnl deleted file mode 100644 index 591cb7c..0000000 --- a/lib/no-moves.fnl +++ /dev/null @@ -1,26 +0,0 @@ -(local {: tail} (require :lib.tail)) - -(fn get-player-idxs [player moves] - (icollect [i p (ipairs moves)] (when (= p player) i))) - -(fn idx-to-neighbors [idxs all-neighbors] - (icollect [_ i (ipairs idxs)] (tail (. all-neighbors i)))) - -(fn neighbor-is-occupied? [neighbors moves] - (icollect [_ move (ipairs neighbors)] - (icollect [_ neighbor (ipairs move)] - (not= (. moves neighbor) 0)))) - -(fn reduce-to-bool [xs] - (accumulate [acc true - _ x (ipairs xs)] - (and x))) - -(fn no-moves? [neighbors all-moves player] - (-> (get-player-idxs player all-moves) - (idx-to-neighbors neighbors) - (neighbor-is-occupied? all-moves) - (reduce-to-bool) - (reduce-to-bool))) - -{: no-moves? } |