Sowing

Sowing est un jeu de semailles, créé par John Conway en 1996. Très simple, il est jouable dès le CP. Mais c’est au congrès MATh.en.JEANS de 2019 qu’il a fait l’objet

  • d’une séance de jeu par les participants
  • d’un exposé, que voici :

La règle du jeu est suffisamment simple pour que des élèves de CP puissent apprendre à y jouer en quelques minutes. On sème des graines sur un plateau à une seule rangée comme celui-ci :

Chaque tour de jeu consiste à

  • choisir une case non vide du plateau
  • mettre dans sa main toutes les graines qu’elle contient
  • semer ces graines, une par une, vers la droite, en commençant par la case voisine (après le tour de jeu, la case choisie est vide).

Et c’est tout ! Il faut juste que la dernière graine soit semée dans une case contenant déjà au moins une graine. Par exemple, ci-dessous, la case contenant 4 graines ne peut pas être jouée par Sud (par contre elle est jouable par Nord) parce que le semis sortirait du plateau, et la case tout à gauche non plus, ne peut être jouée : la dernière des 3 graines qu’elle contient tomberait dans une case vide.

Sud peut jouer une case contenant une graine, en déposant cette graine dans la voisine de droite, mais elle choisit de semer les 3 graines :

La case jouée est maintenant vide, la case qui était vide contient une graine, la case qui contenait une graine en contient maintenant 2, et la case de droite contient maintenant 5 graines. Nord peut semer, ou bien la graine unique à gauche (vers sa voisine qui contiendrait alors 4 graines), ou bien les 5 graines (la dernière tomberait dans la case à 3 graines).

Sowing est jouable dès le CP (du moment que les élèves sont latéralisés) et on peut y jouer en ligne. Voici une fiche d’exercices sur Sowing, couvrant toute l’école élémentaire :


Sowing en informatique

Le jeu Sowing est suffisamment simple pour être abordable en NSI (voire SNT) :

Voici comment on modélise Sowing en Python :;

SUD = 1
NORD = -1
def jouer(p,i,j):
        q = [x for x in p]
        graines = q[i]
        q[i] = 0
        while graines>0:
            i += j
            graines -= 1
            q[i] += 1
    return q

Pour trouver une stratégie gagnante, on peut calculer l’arbre du jeu :

arbre qui est plus complexe lorsqu’on joue avec 10 graines dans 5 cases :

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *