Bonne année à toutes et tous !
Pour 2023, j’espère avoir plus de temps pour publier des articles sur la rétroprogrammation, le rythme ayant pas mal baissé ces derniers mois.
Je débute l’année avec une suite de l’article sur le jeu Château Gaillard publié il y a quelques mois. Le jeu d’aventure dont il est question est issu d’un livre de Tim Hartnell, « Creating adventure games on your Computer« , et développé en BASIC (des années 80).
J’avais mentionné dans mon article que Château Gaillard avait été porté en C++ et le code source, crée par Ben Grimmer est disponible ici. La dernière version date de 2012.
J’ai repris le code en C++ et l’ai porté en langage C, l’objectif initial étant de compiler ce code avec cc65 pour faire fonctionner le jeu sur Apple II. Ce travail m’a pris beaucoup plus de temps qu’initialement prévu, la gestion des chaînes de caractères étant plus complexe en C qu’en C++ ce qui a nécessité de recoder une bonne partie du programme.
Je suis arrivé à un programme fonctionnel sous Windows ou Linux avec gcc, mais impossible pour l’instant de le faire tourner sur un Apple II, même si la compilation avec cc65 ne génère pas d’erreur.
En attendant d’y voir plus clair, voici le code en C de Château Gaillard, utilisable sous Linux/Windows.
La compilation est simple puisqu’il suffit de saisir la commande make
dans une fenêtre de commande. Le nom de l’exécutable est cg
sous Linux ou cg.exe
sous Windows.
J’ai également ajouté les fonctions suivantes :
- Possibilité de jouer sans attaque de monstre,
- Pouvoir saisir un identifiant de partie qui sera utilisé pour initialiser les tirages aléatoires.
Enfin, pour vous aider à sortir de cette aventure, voici un lien vers la carte du jeu.
10 PRINT "Bonne chance !"
20 GOTO 10