Olivier Ramaré : Solitaire ++
Des programmes plus précis !
Cette page offre un certain nombre de routine qui permettent d'étudier
des problèmes précis. Dans le temps, ce nombre de routines
augmentera. Le problème principal étant en ce moment de
convertir mes programmes personnels écrits en C et notamment GTK en
Java. La base de présentation est en javascript et la voici~!
Cette version est bridée : aucun problème de plus de 10
mouvements ne peut être résolue. Je mettrai en place un
certificat pour débrider l'automate plus tard :)
Il vous faut tout d'abord déterminer un plateau, puis demander les
précalculs. Ce script calculera alors une base de caractéristiques
(en général au nombre de quatre), ainsi que certains potentiels
particulièrement simples (seize potentiels de type Fibonacci, et
quatre potentiels de comptage) que j'appelle ici «élémentaires».
Vous pouvez alors déterminer une position de départ et une
position d'arrivée : il s'agit du problème à
étudier.
- «Montrer les
caractéristiques» montre les
caractéristiques choisies.
- «Comparer les
caractéristiques» donne, pour les
caractéristiques choisies, la parité de la différence du
nombre de pions de la position initiale sur les cases grises et du nombre de
pions de la position finale sur les cases grises aussi. Si une de ces
différences est non nulle, le problème est impossible, c'est
(une extension) de la théorie du docteur Reiss.
- «Deltas des potentiels
élémentaires» donne, pour chaque potentiel élémentaire
la différence du nombre de pions de la position initiale où chaque
pion est affecté du poids déterminé par le
potentiel élémentaire et le même nombre, mais
calculé sur la position finale. Si une de ces
différences est strictement négative, le problème est
impossible ; c'est
une partie de la théorie de Beasley - Berlekamp - Conway.
- «Dériver»
est un petit automate dans une version très primitive qui essaie de
passer de la positon initiale à la position finale. Il n'est pas
recommendé de l'utiliser si le nombre de coups est supérieur
à douze. Qui plus est le résultat final est donné
sous une forme quelque peu cryptique en appuyant sur
«Montrer!»
comme une suite de coups : ee+ef->eg
signifiant que l'on prend le pion sur la case ee (ligne e, colonne e),
celui sur la case ef et qu'on en ajoute un sur la case eg.
Le
bouton «PlayIt!»
propose une approche plus graphique !
- Le «Tableau de bord»
est destiné aux gurus !!
Déterminer un plateau ici!
Étude d'un problème ...