Un programme Basic peint sur le manuel Apple II
Imaginons qu’en 1978, vous ayez été chargé d’illustrer la couverture du manuel « Apple II Basic Programming » dédié à la programmation de l’Apple II dans le langage Basic, écrit par Jef Raskin… Qu’auriez-vous représenté sur votre œuvre d’art ? Des Apple II, bien sûr. Et des utilisateurs heureux. Des manettes de jeux. Des circuits électroniques. Les couleurs de la pomme. Et… tiens ? Un programme en Basic parfaitement opérationnel ! La même illustration se retrouve en couverture du manuel « The Applesoft Tutorial » publié l’année suivante. Il s’agissait d’une mise à jour liée à l’évolution du langage Basic de l’Apple II, devenu le Basic Applesoft en embarquant les améliorations du langage Microsoft Basic.
Ce petit programme, le voici. Il est tellement simple qu’on peut le comprendre rien qu’en le lisant. Sachez simplement que les lignes qui commencent par « REM » ne servent qu’à insérer une remarque, qui ne sera pas interprétée par l’ordinateur.
LIST
100 REM SET GRAPHICS MODE
110 GR
120 REM CHOOSE A RANDOM #
130 COLOR= RND (16)
140 REM PICK A RANDOM POS
150 X= RND (40)
160 Y= RND (40)
170 REM PLOT THE (…)
180 PLOT X,Y
190 REM DO IT ALL AGAIN
200 GOTO 130
Si l’on omet les lignes réservées aux remarques, il reste donc la ligne 110 qui passe en mode « graphiques basse résolution » grâce à la commande « GR ». L’écran devient alors un quadrillage de 40 pixels de large et de haut, sur lequel la commande « PLOT » de la ligne 180 affiche un point de la couleur choisie au hasard par la ligne 130 (RND est l’abréviation de Random, qui signifie hasard en anglais), à des coordonnées X et Y choisies aléatoirement entre 1 et 40 par les lignes 150 et 160. Et voici ce que ça donne :
Pour réaliser cette vidéo, nous avons utilisé un émulateur d’Apple II en ligne, sur le site de Will Scullin. N’oubliez pas de cliquer sur le bouton « Reset » avant de commencer à entrer le programme ! Sachez aussi que la correspondance entre le clavier du Macintosh et le clavier émulé de l’Apple II n’est pas parfaite : il faut parfois utiliser le clavier affiché à l’écran, par exemple pour les parenthèses.
Pour m’amuser, j’ai refait la même chose (bon, avec des choses en plus en fait) pour le monde moderne des navigateurs : https://codepen.io/anon/pen/royKOG
Ca fait plus 12 lignes, on a perdu en concision 😉
Merci pour cette “mise à jour” ! En effet, côté concision, rien ne vaut le Basic… Arriveriez-vous à faire en sorte que le motif apparaisse petit à petit et continue de se mettre à jour en permanence, comme dans la version Basic ?