소스 검색

add handleskat routine

master
flavis 6 년 전
부모
커밋
a1e45a0db4
1개의 변경된 파일9개의 추가작업 그리고 4개의 파일을 삭제
  1. +9
    -4
      src/Skat/Preperation.hs

+ 9
- 4
src/Skat/Preperation.hs 파일 보기

@@ -93,11 +93,16 @@ initGame single bid = do
-- ask if player wants to play hand
noSkat <- askHand (bidder bds single) bid
-- either return piles or ask for skat cards and modify piles
ps' <- if noSkat then return ps else do
let skat = skatCards ps
skat' <- askSkat (bidder bds single) bid skat
return $ moveToSkat single skat' ps
ps' <- if noSkat then return ps else handleSkat (bidder bds single) bid ps
-- ask for game kind
(Colour col _) <- askGame (bidder bds single) bid
-- construct skat env
return $ mkSkatEnv ps Nothing col (toPlayers single bds) Hand1

handleSkat :: BD -> Bid -> Piles -> Preperation Piles
handleSkat bd bid ps = do
let skat = skatCards ps
skat' <- askSkat bd bid skat
case moveToSkat (hand bd) skat' ps of
Just correct -> return correct
Nothing -> handleSkat bd bid ps

불러오는 중...
취소
저장