diff options
author | Sébastien Dailly <sebastien@chimrod.com> | 2013-05-10 21:38:47 +0200 |
---|---|---|
committer | Sébastien Dailly <sebastien@chimrod.com> | 2013-06-01 19:57:20 +0200 |
commit | 2f0f0fa1e944af2cb7647e0321068e27e0429d36 (patch) | |
tree | 63e7593256b7d09ee7f15be242841843bc8162c4 /content/Perso | |
parent | 0280e9215fd88ab8aa1b0771d3e6a2df739efa33 (diff) |
New article on game of marelle
Diffstat (limited to 'content/Perso')
-rw-r--r-- | content/Perso/marelle.rst | 87 | ||||
-rw-r--r-- | content/Perso/poker.rst | 2 |
2 files changed, 88 insertions, 1 deletions
diff --git a/content/Perso/marelle.rst b/content/Perso/marelle.rst new file mode 100644 index 0000000..766f780 --- /dev/null +++ b/content/Perso/marelle.rst @@ -0,0 +1,87 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +================================== +La marelle romaine : les solutions +================================== + +:date: 2013-06-01 +:tags: Jeux +:logo: static/images/marelle/logo.jpg +:summary: |summary| + +.. image:: |filename|/images/marelle/extract.jpeg + :width: 150 + :class: floatleft + :alt: Graphique + +|summary| + +.. |summary| replace:: + La marelle est un jeu dont on ne connait pas précisément les origines. On + en retrouve toutefois les traces sur certains sites archéologiques ainsi + que dans des textes qui nous sont parvenus (Ovide). Le jeu est relativement + simple, et existe sous différentes formes. La version que je présente ici + est une version à neuf cases. + +On trouve cette version sous le nom de « marelle romaine » auprès de créateurs +de `jeux historiques`_ ou médiévaux. Elle a la particularité d'avoir un point +central, présent à l'intersection de quatres lignes de jeu. + +.. _jeux historiques: http://www.les7cailloux.com/jeu-de-marelle.html + +D'autres sites se sont déjà intéréssés au rapport entre `mathématiques et le jeu +de marelle`_ et je ne vais pas chercher à les reprendre ici. Par contre, j'ai +essayé de tracer l'ensemble des parties possibles dans un graphe en fonction +des différentes actions des joueurs (en partant du principe qu'un joueur +n'irait jamais jouer un coup qui lui est directement défavorable). Un extrait +du graphique final est présenté ci contre, et le résultat peut être visualisé +en ligne. + +.. _mathématiques et le jeu de marelle: http://bernard.koch.free.fr/Maths/Themes/Marelle/La_marelle.htm + +Cliquez sur l'image pour la voir en taille réelle : + +|visualisation|__ + +.. |visualisation| image:: |filename|/images/marelle/mini_jeu.jpeg + +.. __: |filename|/images/marelle/jeu.jpg + +A strange game. The only winning move is not to play +==================================================== + +Chaque dessin représente un plateau, avec ses pions blancs et noirs. Les lignes +permettent de suivre les coups des joueurs et d'aller à une configuration à une +autre ; la couleur dans le cercle indique quel est le joueur qui vient de +jouer. Le jeu commence par un plateau vide (tout en haut de l'image), et est +rempli au fûr et à mesure par les joueurs. Une fois que les joueurs ont posé +leurs +pions, ceux-ci sont +déplacés sur le plateau, selon les règles que nous connaissons aujourd'hui. + +Par soucis de lisibilité, j'ai retiré les jeux suicidaires où ceux qui +conduisent à des coups inutiles, je n'ai conservé que les cas où les joueurs +essaient d'améliorer leur configuration sans pour autant pousser la réflection +trop loin, car le jeu devient entre alors dans une partie infinie. D'autre +part, les différentes symétries par rotation ne sont pas représentées, afin de +ne pas surcharger le graphique. + +Au final, le jeu ne présente pas trop de surprise, les deux joueurs peuvent +jouer indéfiniment s'ils ne font pas d'erreur ; la moindre erreur signifie +souvent la fin de la partie si l'adversaire est attentif. Je ne m'attendais +toutefois pas à autant d'étapes et de configurations différentes dans le jeu ! + +Technique +========= + +Le calcul des combinaisons et des différents coups est réalisé en scala, chaque +plateau est une scène povray_, et graphviz_ a servi à calculer le graphe. +L'ensemble du code est disponible sur mon dépôt git_. + +Attention à la mémoire disponible si vous souhaitez recréer le graphique, dot +est très gourmand er RAM dès qu'il s'agit de grandes surfaces à calculer… + +.. _povray: http://povray.org/ +.. _graphviz: http://graphviz.org/ +.. _git: http://git.chimrod.com/?p=marelle.git;a=summary diff --git a/content/Perso/poker.rst b/content/Perso/poker.rst index c1fac9c..db6a7d9 100644 --- a/content/Perso/poker.rst +++ b/content/Perso/poker.rst @@ -5,7 +5,7 @@ #############################
:date: 2013-04-19
-:tags: ocaml, Programmation
+:tags: ocaml, Programmation, Jeux
J'ai entrepris il y a quelques temps de mettre en place un moteur d'évaluation
des mains de poker. Je n'ai pas trouvé beaucoup de codes ou librairies
|