Idiot cardgame (alias Shithead)
Posté le : 2008-09-13 Dernière mise à jour : 2012-04-18
UPDATE 20.10.2010: Il y a quelques jours, j’ai lancé une version complètement remaniée de ce jeu, avec de meilleures cartes, des mouvements animés et juste beaucoup mieux dans tous les sens. Cela signifie que cet article de blog est complètement obsolète ! Jouez à la nouvelle version à https://cardgames.io/idiot/ ou à https://cardgames.io/shithead/. Ou bien, vous pouvez jouer à la version originale, celle dont parle cet article de blog, à http://einaregilsson.com/idiot/.
L’article de blog original suit:
Ces dernières semaines, mon projet de loisir a été de créer un jeu de cartes en Javascript. J’ai toujours voulu créer un cardgame et j’ai décidé d’utiliser un simple Javascript pour pouvoir le rendre disponible en ligne puisque personne ne veut s’embêter à télécharger des petits jeux. Je me suis dit qu’il y avait des milliers de black-jacks et de solitaires sur le marché, alors j’ai décidé de créer mon jeu de cartes préféré, Idiot. Après avoir fait des recherches sur Internet, j’ai découvert qu’il existait une page Wikipédia sur le sujet, sous le nom de Shithead, qui répertorie toutes sortes de variations différentes. Ma variante utilise les règles que j’ai habituellement utilisées dans la vie réelle :
- Le but est de perdre toutes ses cartes en les mettant sur la pile, une carte mise sur la pile doit être égale ou supérieure à la carte supérieure de la pile. Si vous n’avez pas de carte à mettre sur la pile, vous devez prendre la pile entière.
- Il y a toujours trois cartes dans votre main, si vous en avez moins de trois, vous devez tirer suffisamment de cartes de la pioche pour en avoir à nouveau trois. Une fois le paquet terminé, plus aucune carte n’est tirée.
- Il y a trois cartes orientées vers le bas et trois cartes orientées vers le haut sur la table. Vous ne pouvez pas les jouer tant que votre main n’est pas terminée. Vous ne pouvez pas regarder une carte orientée vers le bas avant de la jouer.
- Avant de commencer, vous pouvez échanger les cartes de votre main avec les cartes orientées vers le haut sur la table.
- Vous pouvez mettre un deux sur tout, c’est la carte de recommencement.
- Vous pouvez mettre un cinq sur tout, c’est la carte inverse, ce qui signifie qu’au prochain tour, l’adversaire doit mettre une carte égale ou inférieure à cinq.
- Vous pouvez mettre un dix sur tout et il brûle la pile, et vous avez le droit de sortir la première carte de la nouvelle pile.
- Vous pouvez sortir plus d’une carte à la fois tant qu’elles ont le même rang.
- S’il y a quatre cartes de même rang au sommet de la pile, alors la pile est retirée.
- Si vous n’avez aucune carte que vous pouvez mettre sur le dessus de la pile alors vous pouvez tirer la carte supérieure de la pioche et la mettre sur la pile, si c’est un coup légal alors vous n’avez pas à prendre la pile.
Le jeu peut être joué à l’url http://einaregilsson.com/idiot/. En ce qui concerne la mise en œuvre, ne vous attendez pas à une animation ou à des trucs fantaisistes. Vous choisissez simplement les cartes que vous voulez sortir et appuyez sur le bouton Play selected cards. Lorsque l’ordinateur joue, les cartes disparaissent simplement de sa main et apparaissent sur la pile. Cependant, il y a un petit délai entre chaque mouvement de l’ordinateur, de sorte que vous pouvez voir quand il sort deux cartes ou plus et quand il tire des cartes. Quant à la règle qui consiste à tirer une carte du dessus de la pioche lorsque vous devez prendre la pile, elle se fait automatiquement. Il vous suffit d’appuyer sur le bouton Prendre la pile et vous verrez une nouvelle carte apparaître en haut de la pile (à condition que la pioche ne soit pas vide). Si le coup est légal alors le tas restera, s’il ne l’est pas vous aurez le tas entier dans votre main.
Le jeu est implémenté dans deux fichiers, cards.js et idiot.js. Cards.js est une bibliothèque générique qui a une classe de base pour un conteneur de cartes et des classes concrètes pour une main, un paquet et une carte, elle pourrait facilement être réutilisée pour n’importe quel jeu de cartes. Idiot.js est le jeu lui-même, il fonctionne bien, bien qu’il y ait beaucoup de cas limites qui pourraient être ajoutés au joueur informatique pour le rendre plus intelligent. Le code est très commenté, donc il devrait être facile à suivre si quelqu’un veut étendre le jeu ou utiliser la bibliothèque pour quelque chose. Les fichiers du jeu sont sous licence Creative Commons Attribution et peuvent donc être utilisés pour à peu près tout. Ils ont été testés sur les dernières versions des principaux navigateurs. Veuillez laisser tout rapport d’erreur ou toute suggestion en commentaire sur cette page.