jouons

Safe HaskellSafe-Inferred

Nim

Synopsis

Documentation

data Nim Source

Une position du jeu du Nim est donnée par une couple : le jouer qui doit jouer et les tas, c'est-à-dire, la liste d'entiers, chaque entier étant la longueur d'un tas

Constructors

Nim Player [Int] 

Instances

startPosition :: NimSource

La position initiale du jeu du Nim

updateSource

Arguments

:: [a]

xs, la liste à modifier

-> Int

index, la position à modifier, on compte à partir de 1

-> a

newValue, la nouvelle valeur

-> [a]

la liste, misa à jour

Cette fonction modifie une liste, en une position donnée, en remplacant un vieu valeur avec nouvau valeur Par exemple, update [1,2,3] 2 4 donnera [1,4,3]

choices :: Nim -> [Nim]Source

Cette fonction calcule les positions suivantes dans le jeu du Nim. La règle est la suivante : si on se donne une position de la forme Nim joueur [x1,...,xn], alors une position suivante est de la forme Nim autrejoueur (update [x1,...,xn] i v) où i est choisi parmi [1,...,n] et v peut prendre les valeurs dans l'intervalle [0,...,xi -1]