Casse-tête 4 cavaliers

Soyez le premier à donner votre avis sur cette source.

Vue 7 537 fois - Téléchargée 468 fois


Description

Ce petit jeu est un puzzle dont le principe est simple: il faut déplacer les deux cavaliers blancs aux emplacements initiaux des cavaliers noirs, et inversement. Les mouvements des cavaliers autorisés sont naturellement les mêmes qu'aux échecs.

Les pions se déplacent avec la souris, et quelques touches du clavier sont attribuées:
- F1 pour l'aide,
- F2 pour recommencer,
- Del pour annuler le dernier déplacement,
- Echap pour quitter le programme,
- Entrée pour résoudre le puzzle,
- Ctrl, la "boss key", pour cacher le programme au cas où quelqu'un vous surprendrait à jouer au boulot.

Au fil du jeu, les déplacements effectués sont comptés, mémorisés et affichés dans une zone de texte.

Les images du plateau de jeu et des cavaliers sont proposées en deux versions:
- une moche, faite par moi,
- une belle, gentiment faite par ma soeur.

Source / Exemple :


Le code, contenu dans le fichier compressé, est constitué de deux unités. La première implémente le jeu proprement dit, tandis que l'autre décrit uniquement une classe de pile LIFO, pour mémoriser les déplacements effectués.

Conclusion :


Ce petit code source sans prétention a pour but de vous faire découvrir un casse-tête amusant que j'ai connu en bois. Pour ceux qui n'auraient pas la patience de chercher, j'ai inclus avec les sources, une solution pour le résoudre, fortement influencée par la théorie des graphes.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
600
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
6 avril 2010
1
Très marrant ce petit jeu.

Mention spéciale pour les graphismes de ta soeur ;-)
Messages postés
3825
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 février 2021
39
Salut,

j'ai pas encore regardé le code de près mais tu peux déjà ajouter ceci dans le OnCreate de ta forme principale :

pnlJeu.DoubleBuffered := True;

cela évitera le scintillement surtout pendant la résolution automatique.

en tous cas, c'est beaucoup mieux que les pseudos codes que l'on a vus ces derniers temps ... ^.^

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.