Début des fonctions pour que le joueur joue.
This commit is contained in:
parent
6eb5604e42
commit
da73f0e242
@ -22,3 +22,36 @@ instance JoueurIA RandomIA where
|
||||
where joué = minimum [carte | carte<-cartes, peutJouer carte cartes pli]
|
||||
finTour self pli = self -- On s'en fiche de l'info.
|
||||
|
||||
|
||||
playerSort :: Carte -> Carte -> Ordering
|
||||
playerSort (Valeur(col1,val1) Valeur(col2,val2))
|
||||
| col1==col2 = compare val1 val2
|
||||
| otherwise = compare col1 col2
|
||||
playerSort Valeur(_,_) _ = LT
|
||||
playerSort _ Valeur(_,_) = GT
|
||||
playerSort Atout(k) Atout(l) = compare k l
|
||||
playerSort Atout(_) Excuse = LT
|
||||
playerSort Excuse Atout(_) = GT
|
||||
playerSort Excuse Excuse = EQ
|
||||
|
||||
annoncePriseJoueur :: Int -> Maybe Typeprise -> IO ()
|
||||
annoncePriseJoueur i t = putStrLn "Le joueur "++(show i)++" a "++(case t of {
|
||||
Nothing -> "passé";
|
||||
Just Prise -> "pris";
|
||||
Just Garde -> "gardé";
|
||||
|
||||
})
|
||||
|
||||
data VraiJoueurIA = VraiJeu ([Carte])
|
||||
instance JoueurIA VraiJoueurIA where
|
||||
distrib self cartes pos = do
|
||||
let jeu = sortBy playerSort cartes
|
||||
putStrLn "Voici votre jeu : "
|
||||
for_ jeu (putStrLn . show)
|
||||
return VraiJeu(jeu)
|
||||
prise (VraiJeu cartes) prises = do
|
||||
let nprises = length prises
|
||||
if nprises==0
|
||||
then putStrLn "Vous êtes le premier à parler !"
|
||||
else do
|
||||
for_ [1..nprises] (i -> putStrLn "Le joueur "++(show i)++" a ")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user