]> gitweb.factorcode.org Git - factor.git/commitdiff
minesweeper: re-use click-cells-around.
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 5 Mar 2018 17:05:20 +0000 (09:05 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 5 Mar 2018 17:05:20 +0000 (09:05 -0800)
extra/minesweeper/minesweeper.factor

index 5d62f59ff842d7ed33d2a0b13aad53bdcf36d85c..bae4f2b4cebd5fa681b99b83de7202ed5c479add 100644 (file)
@@ -88,10 +88,8 @@ DEFER: click-cell-at
     neighbors [
         first2 [ row + ] [ col + ] bi* :> ( row' col' )
         cells row' col' cell-at [
-            mined?>> [
-                cells row' col' click-cell-at drop
-            ] unless
-        ] when*
+            cells row' col' click-cell-at drop
+        ] when
     ] each ;
 
 :: click-cell-at ( cells row col -- ? )
@@ -125,12 +123,7 @@ DEFER: click-cell-at
     cells row col cell-at [
         state>> +clicked+ = [
             cells row col [ adjacent-flags ] [ adjacent-mines ] 3bi = [
-                neighbors [
-                    first2 [ row + ] [ col + ] bi* :> ( row' col' )
-                    cells row' col' cell-at [
-                        cells row' col' click-cell-at drop
-                    ] when
-                ] each
+                cells row col click-cells-around
             ] when
         ] when t
     ] [ f ] if* ;