Anonymous user
Generate random chess position: Difference between revisions
m
→{{header|Haskell}}
Line 630:
isPosOccupied :: Pos -> ChessBoard -> Bool
isPosOccupied p = occupied . found
where found = find (\(
occupied (Just (EmptySquare, _)) = False
occupied _ = True
Line 682:
else pos
where pos = (,) <$> chr <*> num
num
randomPiece :: IO Square
randomPiece = ChessPiece <$> rank <*> color
where rank
color = getStdRandom random
Line 723 ⟶ 719:
firstPos Black = 8
num = getStdRandom (randomR (1,16))
randomPawn = ChessPiece Pawn <$> rColor
where rColor
placeRemaining :: ChessBoard -> IO ChessBoard
Line 746 ⟶ 739:
_ -> True) fullBoard
num mx = getStdRandom $ randomR (5, mx)
|