blob: 1d1bb80f1842de527e629a075bb4b5cc8909e0b4 (
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
|
module Hand where
import Set
import Pai
data Hand = Hand {getHand::MSet, getCall::[MSet]}
max2Win = 7
pairs c (h:hs) = (if length (filter (==h) hs) >= c then 1 else 0) + (pairs $ filter (/=h) hs)
pairs c [] = 0
seven h = 7 - (pairs 1 h)
mosou h = 14 - (pairs 0 h') - (if pairs 1 h' > 0 then 1 else 0)
where h' = filter is19 h
costM a b = (sum $ zipWith (snd.sMmin) a b,zipWith (fst.sMmin) a b)
sMmin a b = if (a>b) then (a-b,0) else (0,b-a)
parseCol xx@(a:b:c:xs) (t,m,p) =
concat []
parseCol _ r = return r
normal h = cm =
where cm = pairs 2 $ filter isCha h
cp = (pairs 1 $ filter isCha h) - cm
|