Début des fonctions pour que le joueur joue.

This commit is contained in:
Mysaa 2022-01-19 21:25:30 +01:00
parent 6eb5604e42
commit da73f0e242
Signed by: Mysaa
GPG Key ID: 7054D5D6A90F084F

View File

@ -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 ")