*************************************

Le Deuuligne de

RetroPoke #03

*************************************

Ce qui il y a de bien avec l’AMSTRAD CPC, c’est son coté locomotive.
J’avoue que je me lasse plus de faire pleins de petits programmes en BASIC puis serrer les TOKENs au maximum et faire rentrer le code sur 2 petites lignes.
Il y a aussi son grand frère, le Z80, avec lui on arrive à faire des tonnes de choses, mais on perd beaucoup de place en BASIC pour en faire un deuuligne du mois.

Chaque mois je vous proposerais un nouveau programme tenant sur 2 lignes BASIC maximum.
Le règlement est simple.
– Deux Lignes en BASIC (Les lignes peuvent contenir du BASIC et du langage MACHINE)
– Un seul deux lignes par disquette
– Un petit résumé et explicatif du programme dans un fichier ALIRE.BAS si nécessaire.
– Envoyez le tout à: concours(@)amstrad.eu avant le 20 du mois en cours pour l’édito du mois d’après.
En espérant que vous apporterez de l’eau au moulin pour participer à l’édition de l’édito du mois.

RetroPoke

Mr. CARELO (RETROPOKE)

Mr. Carelo doit carreler tout un établissement scolaire de plus de 200 pièces. Mais il ne doit pas marcher sur le carrelage tant que tous les carreaux au sol ne sont pas posés. Comme Mr. Carelo est un feignasse de première, il fait appel à vous.

Déplacer vous dans les 8 directions en utilisant les touches fléchées. Mais si vous vous coincez, vous perdrez votre job.
Pour recommencer à zéro, appuyez sur la touche [ESPACE].
Le nombre de piliers augmente dans chaque nouvelle pièce, rendant votre besogne bien plus difficile encore. En bas de l’écran, vous verrez un compteur de carrelage qui reste à poser et le numéro de la pièce ou vous êtes actuellement.
Bon courage !

Listing et téléchargement :

11 MODE 0:ORIGIN 0,0,0,639,399,64:CLG 9:WHILE 1:g=g+1:DIM z(40,20):ORIGIN 0,0,96,543,382,81:CLG 8:PEN 9:FOR b=1 TO g+4:s=0:WHILE s=0:x=5+RND*11:y=3+RND*16:s=z(x,y)=0:WEND:z(x,y)=9:LOCATE x,y:PRINT CHR$(&E9):NEXT:PEN 4:c=3:l=11:d=0:WHILE d<262-g:LOCATE c,l
2 PRINT CHR$(&F8+RND*3):x=MIN(17,MAX(4,c+INKEY(1)-INKEY(8))):y=MIN(20,MAX(2,l+INKEY(2)-INKEY(0))):WHILE z(x,y)=0:SOUND 5,4,3:LOCATE c,l:PRINT CHR$(&86):LOCATE 7,22:PRINT 261-d-g;g:c=x:l=y:z(x,y)=9:d=d+1:WEND:IF INKEY(47)=0 THEN RUN ELSE WEND:ERASE z:WEND