summaryrefslogtreecommitdiff
path: root/.stack-work/intero/intero4078i3Z-STAGING.hs
blob: 15be3ecf765f695bbe6d31918fe74e769de5c8ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
module Main where

import Control.Lens
import Linear.V2
import Linear.V3
import Data.Matrix
import System.Random

data Square = X | Qu | O  deriving (Show)
--board = V3 <$> [0..8] <*> [0..8] <*> [0]
--board = [(r,c,X) | r <- [0..8], c <- [0..8] ]

lo8 = [0..8] -- list of 8
initBoard = matrix 8 8 $ \_ -> O
--avail r c b =

--rowOccupied r b = any (== Q) $ getRow r b
placeQueen r c b = board
  where
    fX = (\ _ -> X)
    rowAttacked = mapRow fX r
    colAttacked = mapCol fx c
    queen = setElem Qu (r,c) b

--placeAll = repeat 8 placeQueen

winnable = undefined

nextOpen board = 

solve = 

-- placeQueen r c =

--b = getE

--placeQueen r c b = b ^.

-- rand = do
--   g <- newStdGen
--   print $ take 8 $ (randomRs (0, 8) g)


-- try r c = let next b = placeQueen r c b
--           in next initBoard

-- try' p = let next b = p b
--           in next initBoard


--res = [ try x y | x <- lo8, y <- lo8 ]

main :: IO ()
main = do
  putStrLn "Hi"