Programmation du jeu de Katro Tsotra

Une activité pour la classe de première en NSI
mercredi 8 février 2023
par  Christophe DECLERCQ

Outre leur intérêt en ethno-mathématique et en didactique des mathématiques, les jeux de semaille de l’océan indien sont une source d’activité de programmation pour la classe de première en NSI.

On s’intéresse au jeu de Katro Tsotra, le plus simple des jeux de type solo décrit par Luc Tiennot dans : À la recherche de jeux de semailles de type solo à Madagascar..

La règle du jeu décrit de manière précise un algorithme qui consiste à semer des graines puis à les récolter.

L’activité proposée fournit une interface de jeu, ainsi qu’un programme incomplet où une des règles n’est pas programmée. C’est l’activité qui est dévolue à l’élève : programmer la règle manquante.

Le jeu de Katro Tsotra ou Solo 4x6(2)

L’activité est d’abord une activité de compréhension de la partie de programme fourni, puis nécessite de compléter le programme.

Les notions en jeu du programme de première sont :

  • la programmation avec des tableaux (pour représenter la situation de jeu et son évolution)
  • les booléens et l’écriture d’une fonction booléenne (pour savoir si une ligne est vide).

Cette activité peut aussi permettre d’aborder la notion d’invariant permettant de prouver la correction d’un programme. En effet le nombre de graines en jeu : 48 doit être conservé lors des manipulations. Cet invariant peut être vérifié lors de l’ajout de la règle manquante : après une capture dans la ligne adverse, le nombre de graines en jeu doit être conservé.

Un prolongement, plus difficile - de niveau terminale - pourrait consister à programmer une stratégie permettant de jouer à un joueur humain contre la machine.


Commentaires

Logo de Alain BUSSER
samedi 12 août 2023 à 09h05 - par  Alain BUSSER

Le jeu sowing est un autre jeu de semaille, mais bien plus simple parce que

  • on ne resème pas une fois la dernière graine tombée (donc pas de difficulté conceptuelle liée à la récursivité),
  • il n’y a qu’une seule rangée, partagée entre les deux joueurs (donc une simple liste d’entiers modélise l’intégralité du plateau),
  • chaque joueur ne sème que vers sa droite (autrement dit, Sud sème de gauche à droite et Nord sème de droite à gauche).

Dans Sowing comme dans katro, le nombre total de graines est invariant, et dans les deux cas, trouver un variant permettant de prouver que le jeu a une durée finie, est assez difficile. Par contre pour les raisons évoquées plus haut, Sowing semble bien plus facile à modéliser en Python, que la plupart (voire tous) des autres jeux de semaille connus. En plus, Sowing fait travailler des compétences du cycle 1 (repérage dans le plan, comptage, comparaison des entiers, soustraction...)