Aventure dans une grotte

Cet article présente une mise à jour d’un jeu d’aventure développé en 1988 par Russel Wallace ; Cave Adventure.

J’ai choisi de mettre à jour ce programme car il a été développé en C et est un bon cas d’usage pour ma fonction jprint présentée dans mon article précédent. J’ai donc repris le code source disponible sur IFDB et l’ai adapté pour le compilateur moderne gcc.

Le jeu présente également un minimum d’intérêt ; il est inspiré du célèbre jeu d’aventure textuel colossal cave adventure et la jouabilité est plutôt bonne.

Continuer la lecture de « Aventure dans une grotte »

Affichage avec alignement justifié en C

Cet article propose un algorithme avec une implémentation en langage C permettant d’afficher un texte en alignement justifié. Ceci signifie que le texte est aligné à gauche et à droite sur un nombre de colonnes prédéfinies, la dernière ligne étant alignée à gauche. Le programme va donc insérer les espaces nécessaires entre les mots afin d’obtenir les alignements.

Vous aurez ainsi à disposition une fonction C permettant d’avoir une belle présentation pour vos jeux d’aventure textuels… et d’autres utilisations sont possibles, bien évidemment.

Cela semble assez simple en théorie, mais j’ai intégré les contraintes suivantes :

  • Pas d’utilisation de nombres réels (float) pour que le programme reste performant avec un ordinateur 8 bits.
  • Dans le cas ou un mot est plus long que le nombre de colonnes d’affichage, ce mot doit être coupé afin de conserver un affichage correct.
Continuer la lecture de « Affichage avec alignement justifié en C »

Adventure Game in C for Apple II

I’ve been thinking about coding an adventure game in C for months. I wanted to write a code that would compile on both modern and old computers, probably because the idea of having a source code that would last for such a long period of time is amazing. Especially in 2022 when computer science changes so rapidly, with several new programming langages coming up every year.

This is possible thanks to the cross-compiler cc65, which I introduced in a previous article. I wanted a code that would work on both Apple II and Linux/Windows based modern PCs.

Since I have no time to code a whole adventure from scratch, I’ve found a small adventure game on The Interactive Fiction Archive: ISLAND.

Continuer la lecture de « Adventure Game in C for Apple II »

Superbe environnement de développement en C sous Windows

Cet article va vous permettre de faire du développement en langage C dans l’environnement Windows 10. Jusqu’à présent, j’ai uniquement abordé le développement en C dans un environnement « Unix-like » (Linux ou Mac OS).

Malgré l’absence de compilateur installé nativement, il est tout à fait possible de coder en C sous Windows, y compris avec des logiciels libres (ou presque). L’environnement présenté ici est le compilateur C de GNU (gcc) porté sous Windows et l’éditeur de code Visual Studio Code.

VSC
Le mariage de la carpe et du lapin ?

Continuer la lecture de « Superbe environnement de développement en C sous Windows »

« The New Apple II User’s Guide » ou la bible Apple II

Cet article est bien différent de ceux publiés jusqu’à présent, puisque je vais faire la critique d’un livre. Il s’agit d’un gros pavé, The New Apple II User’s Guide de David L. Finnigan, publié en 2012. Voici un lien vers le site officiel.

Le livre est en anglais, donc si vous êtes réfractaire à cette langue, vous pouvez arrêter ici votre lecture.

Dans le cas contraire…

Continuer la lecture de « « The New Apple II User’s Guide » ou la bible Apple II »

Un jeu d’aventure bien aligné ou justifié

Il est important de bien soigner la présentation de vos jeux d’aventures. Si vous n’y prenez garde, vous risquez de retrouver cela :

Une présentation bof, qui n’incite pas à poursuivre l’aventure.

Pas très lisible, n’est-ce pas ? (on peut même dire que c’est moche). Les mots sont coupés au delà de la 40ème colonne, sans tenir compte des règles usuelles de présentations des documents.

Dans cet article, nous allons voir comment afficher un texte avec un alignement à gauche, sans couper les mots, ou un alignement justifié. Avec une subroutine en BASIC !

Continuer la lecture de « Un jeu d’aventure bien aligné ou justifié »

Traducteur d’instructions graphiques du langage BASIC

Dans les années 80, le langage BASIC a donné lieu à d’innombrables dialectes, chaque machine étant livrée avec son propre « BASIC » et ses particularités. Les instructions les plus courantes sont en général standardisées (PRINT, INPUT, LET, IF…THEN, FOR…NEXT, GOTO, GOSUB) mais il en va tout autrement pour les instructions graphiques. Les modes graphiques sont également très variables d’une machine à l’autre, que ce soit le nombre de couleurs ou la définition de l’image.

Continuer la lecture de « Traducteur d’instructions graphiques du langage BASIC »