Equilibrium est un jeu à deux joueurs qui nécessite un papier et un crayon.
Au début du jeu, le but est de tuer le joueur adverse (au sens figuré) en lui infligeant
des dégats à chaque tour de jeu.
Chaque joueur écrit une suite d'actions (une par ligne) sur un papier,
ce que l'on appelle un deck. Chaque action est choisie parmi
- Monster
Monstre qui tape le joueur adverse et lui infige des dégats (de 1 à 3).
- Ligthning
Un éclair qui infige 2 ou 4 points de dégat à l'adversaire et inflige en même temps
1 ou 2 (respectivement) point de dégat au joueur ayant lancé l'action.
- Cure
Qui permet de guérir complètement le joueur. Celui-ci retrouve alors l'ensemble des ses points de vie.
- Armor
Le joueur revet une armure (à 1 ou 2 points) qui lui permet d'absorber une partie des dégats générés
par les actions suivantes.
Une fois les decks constitués, on regarde s'ils sont équilibrés; on dit que l'on cherche l'équilibrium.
Deux decks sont équilibrés s'ils ont le même nombre d'actions et si pour chaque catégorie d'action
la somme des points est identique.
Par exemple, si Alice a le deck
monster 3
monster 2
monster 1
et Bob le deck
monster 2
monster 2
monster 2
alors les deux decks sont équilibrés car la somme des points de dégats est identique.
Voici un autre exemple d'équilibrium, pour Alice, le deck est
monster 3
cure
lightning 4
monster 2
monster 1
et pour Bob, le deck est
monster 2
lightning 4
monster 2
cure
monster 2
Un chef de projet a demandé à un apprenti de programmer la résolution du jeu equilibrium,
malheureusement, celui-ci n'a pas fini, seul les monstres sont gérés et de plus, il n'a
pas suivi de cours de design pattern :(