Ha, les joies de l’archivage…
Je suis tombé sur une gemme, le tout premier jeu vidéo que j’ai jamais programmé (en 1992 !). Il s’agissait de retrouver des croix masqués par le « brouillard »… Très con mais finalement assez prenant. Il tient en seulement une trentaine de ligne. A noter qu’à l’époque, « GOTO » était une sorte de mot clé magique, sans relation avec la traduction :p
Sans plus attendre:
10 CLS:SCREEN 1:RANDOMIZE TIMER
11 INPUT "QUEL TEMPS VOULEZ-VOUS";T
12 IF T>1000 THEN PRINT "TEMPS TROP GRAND":GOTO 11
13 INPUT "QUEL NOMBRE DE COUPS VOULEZ-VOUS";C
14 IF C>500 THEN PRINT "COUPS TROP GRANDS":GOTO 13
17 IF T=0 OR C=0 THEN GOTO 11 ELSE GOTO 19
19 CLS
20 COLOR 1,1
40 LINE(16,16)-(295,167),1,BF
70 FOR I=0 TO 5
80 T(I)=INT(RND*36)+3
90 S(I)=INT(RND*19)+3
95 NEXT I
100 X=20:Y=12:A=1
110 R$=INKEY$
120 IF R$=CHR$(54) THEN X=X+1:LOCATE Y,X-1:PRINT " "
121 IF R$=CHR$(52) THEN X=X-1:LOCATE Y,X+1:PRINT " "
122 IF R$=CHR$(56) THEN Y=Y-1:LOCATE Y+1,X:PRINT " "
123 IF R$=CHR$(50) THEN Y=Y+1:LOCATE Y-1,X:PRINT " "
131 IF R$=CHR$(53) THEN A=2 ELSE IF R$=CHR$(48) THEN A=1 ELSE GOTO 132
132 IF R$="" THEN C=C ELSE C=C-1
133 T=T-1
135 LOCATE Y,X:PRINT CHR$(A)
136 LOCATE 23,1:PRINT "TEMPS:";T;" ";"COUPS:";C;"SCORE:";T+C
140 FOR I=0 TO 5
150 IF T(I)=X AND S(I)=Y THEN LOCATE Y,X:PRINT "X" :X=20:Y=12:BEEP:T=T+500:C=C+100:H=H+1
151 IF T=0 THEN CLS :LOCATE 12,16:PRINT " THE END":GOTO 170
152 IF C=0 THEN CLS :LOCATE 12,16:PRINT " THE END":GOTO 170
153 IF H=5 THEN CLS:LOCATE 12,17:PRINT "GAGNE!":RUN"JEUX
155 NEXT I
160 GOTO 110
170 CLS:INPUT "VOULEZ-VOUS VOIR LES CROIX (O/N) ?",Z$
180 IF Z$="" THEN GOTO 170 ELSE IF Z$="O" THEN CLS:FOR I=0 TO 5:LOCATE S(I),T(I):PRINT "X" :NEXT I
190 RUN "JEUX
Je me rappelle, ce jeu de hasard complet était l’une des premières preuves flagrantes que je perdais tout le temps.