Listing, k7, petits programmes pour VG5000....

Tout ce qui concerne le logiciel original et sa sauvegarde avec entre autre la régénération des disquettes ou autres supports physiques.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Mokona »

Voici mis en ligne le script que j'ai utilisé. C'est en Python3 et c'est du vite fait.

https://github.com/Triceraprog/vg5000_t ... _to_bas.py
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Markerror »

Carl a écrit : 10 sept. 2018 22:57 Hervé, tu avais déjà "Morceaux de musique" ?
Absolument pas, je l'ai honteusement pompé sur le forum :-) (un fichier .K7 que tu avais mis en ligne pour Daniel). Ca va m'éviter une longue et fastidieuse saisie...

Je viens de jeter un oeil sur le contenu de "Jeux sur VG5000 Philips". Bien qu'il y ait déjà pas mal de listings dans ton archive, il en manque un certain nombre (en tout, il y a 22 programmes !). J'ai fait l'inventaire de ce qui existe déjà.
Il reste 9 programmes à taper : labyrinthe, radar, taquin, tic-tac-toe, bataille navale, karo, carré, réactions en chaîne.
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Markerror »

Ca aura pris vraiment moins de temps que prévu, j'ai terminé d'archiver proprement les listings du bouquin "Guide du VG5000 Philips".

Récupérer directement l'archive :

http://vg5000bazar.free.fr/zip/listings ... hilips.zip

Reste maintenant à travailler sur "Jeux pour VG5000", et on aura fait le tour de ce qui était dans le pack de logiciels de Carl.
Xavier_AL

Re: Listing, k7, petits programmes pour VG5000....

Message par Xavier_AL »

"Bataille navale": 'jeux sur VG5000' page 156.

Code : Tout sélectionner

10 REM *******************
20 REM * Bataille navale *
30 REM *******************
40 DIM T(14,18)
50 REM Caractères spéciaux
60 SETET 120,"FF8181818181818181FF"
70 SETET 121,"FF81FF81818181FF81FF"
80 REM affichage de la légende
90 INIT 6,3:TX0,0,0 
100 CURSORX 26:CURSORY 3:PRINT"Flotte"
110 CURSORX 26:CURSORY 4:PRINT"ennemie"
120 CURSORX 26:CURSORY 6:PRINT"1X"
130 CURSORX 26:CURSORY 10:PRINT"2X"
140 CURSORX 26:CURSORY 14:PRINT"3X"
150 CURSORX 26:CURSORY 18:PRINT"4X"
160 REM Tracé des exemples de navires
170 ET1,0,0
180 FOR J=1 TO 4
190 CURSORX 25+J:CURSORY 7
200 PRINT CHR$(121)
210 NEXT j
220 FOR J=1 TO 3
230 CURSORX 25+J:CURSORY 11 
240 PRINT CHR$(121)
250 NEXT J
260 FOR J=1 TO 2
270 CURSORX 25+J:CURSORY 15
280 PRINT CHR$(121)
290 NEXT J
300 CURSORX 26:CURSORY 19
310 PRINT CHR$(121)
320 REM Tracé de la grille
330 ET4,0,0
340 FOR I=3 TO 19
350 FOR K=10 TO 22
360 CURSORY I:CURSORX K
370 PRINT CHR$(120)
380 NEXT K
390 NEXT I
400 REM Affichage des lettres indiquant
410 REM les colonnes
420 TX0,0,0
430 FOR J=0 TO 12
440 CURSORY 2:CURSORX 10+J
450 PRINT CHR$(65+J)
460 NEXT J
470 REM Affichage des numéros de lignes
480 FOR J=1 TO 17
490 CURSORX 7:CURSORY J+2
500 PRINT J
519 NEXT J
520 REM Début du jeu
530 REM Tirage des bateaux
540 GOSUB 1500:REM 4X
550 GOSUB 1680:REM 3X
560 GOSUB 1750:REM 2X
570 GOSUB 1820:REM 1X
580 A=0:B=0
590 REM Boucle de jeu
600 FOR S=1 TO 1000:NEXT S
610 CURSORX 1:CURSORY 22:PRINT CHR$(30)
620 GOSUB 1380
630 IF YY=1 THEN YY=0 :GOTO 600
640 GOSUB 880
650 REM Test de fin de partie 
660 IF A<>20 THEN GOTO 600
670 TX0,0,0:PRINT CHR$(31)
680 CURSORX 18:CURSORY 10
690 PRINT "Score"
700 CURSORX 15:CURSORY 12
710 PRINT "Coups joués:";B
720 IF B>79 GOTO 760
730 CURSORX 10:CURSORY 16
740 PRINT "bravo, vous êtes très fort"
750 GOTO 860
760 IF B>99 GOTO 800
770 CURURX 10:CURSORY 16
780 PRINT "Vous ayez du flair...."
790 GOTO 860
800 IF B>=120 GOTO 840
810 CURSORX 10:CURSORY 16
820 PRINT "Vous n'êtes pas trop nul"
830 GOTO 860
840 CURSORX 10:CURSORY 16
850 PRINT "Ne vous découragez pas"
860 CURSORY 23:END
870 REM Messages de réponse au joueur
880 IF T(I,J)=6 THEN T(I,J)=8:CURSORX 17:CURSORY 24:PRINT"déjà choisi";:B=B+1
890 IF T(I,J)=7 THEN T(I,J)=8:CURSORX 17:CURSORY 24:PRINT"déjà choisi";:B=B+1
900 IF T(I,J)=8 THEN CURSORX 17:CURSORY 24:PRINT"déjà choisi";:B=B+1
910 IF T(I,J)<>0 AND T(I,J)<>5 GOTO 970
920 REM T(I,J)=0 ou T(I,J)=5
930 T(I,J)=8:B=B+1
940 CURSORX 17:CURSORY 24:PRINT"raté";
950 CURSORX I+9:CURSORY J+2
960 TX4,0,0:PRINT CHR$(127)
970 IF T(I,J)<>1 GOTO 1010
988 REM T(I,J)=1
990 T(I,J)=7:A=A+1:B=B+1
1000 CURSORX 17:CURSORY 24:PRINT"Coulé";
1010 IF T(I,J)=21 THEN GOSUB 1120:B=B+1
1020 IF T(I,J)=22 THEN GOSUB 1160:B=B+1
1030 IF T(I,J)=23 THEN GOSUB 1200:B=B+1
1040 IF T(I,J)=31 THEN GOSUB 1240:B=B+1 
1050 IF T(I,J)=32 THEN GOSUB 1280:B=B+1
1060 IF T(I,J)=4 THEN GOSUB 1320 B=B+1
1070 IF T(I,J)<>6 AND T(I,J)<>7 GOTO 1110
1080 REM T(I,J)=6 ou T(I,J)=7
1090 CURSORX I+9:CURSORY J+2
1100 ET 1,0,0:PRINT CHR$(121)
1110 RETURN
1120 T(I,J)=6 :A=A+1 :Z1=Z1+1
1130 IF Z1=2 THEN T(I,J)=7:CURSORX 17:CURSORY 24:PRINT "Coulé";
1140 IFZ1<>2 THEN CURSORX 17:CURSORY 24:PRINT "Touché";
1150 RETURN
1160 T(I,J)=6:A=A+1:22=Z2+1
1170 IFZ2=2THEN T(I,J)=7:CURSORX 17:CURSORY 24:PRINT "Coulé'";
1180 IFZ2<>2THEN CUPSOPX 17:CURSORY 24:PRINT "Touché";
1190 RETURN
1200 T(I,J)=6 :A=A+1 :Z3=Z3+1
1210 IFZ3=2 THEN T(I,J)=7:CURSORX 17:CURSORY 24:PRINT"Coulé'";
1220 IFZ3<>2 THEN CURSORX 17:CURSORY 24:PRINT "Touché'";
1230 RETURN
1240 T(I,J)=6:A=A+1:Z4=Z4+1
1250 IFZ4=3 THEN T(I,J)=7:CURSORX 17:CURSORY 24:PRINT "Coulé'";
1260 IFZ4<>3 THEN CURSORX 17:CURSORY 24:PRINT "Touché'";
1270 RETURN
1280 T(I,J)=6: A=A+1:Z5=Z5+1
1290 IFZ5=3THEN T(I,J)=7:CURSORX 17:CURSORY 24:PRINT"coulé'";
1300 IFZ503 THEN CURSORX 17:CURSORY 24:PRINT "touché";
1310 RETURN
1320 T(I,J)=6:A=A+1:Z6=Z6+1
1330 IFZ6=4 THEN T(I,J)=7:CURSORX 17:CURSORY 24:PRINT "coulé";
1340 IFZ6<>4 THEN CURSORX 17:CURSORY 24: PRINT "touché"; 
1350 RETURN
1360 REM Lecture du COUP du joueur
1370 REM avec test de validité. du coup
1380 TX0,0,0:CURSORX 1:CURSORY 22:INPUT "Quel est votre choix ";A$
1390 IF LEN(A$)<>3 AND LEN(A$)<>2 THEN YY=1: GOTO 1460
1400 I=Asc(A$)-64
1410 IF LEN(A$)=3 THEN J=VAL(RIGHT$(A$,2))
1420 IF LEN(A$)=2 THEN J=VAL(RIGHT$(A$,1))
1430 IF LEN(A$)=3 OR LEN(A$)=2 THEN GOTO 1440
1440 IF J<1 OR J>17 THEN YY=1
1450 IF I<1 OR I>13 THEN YY=1
1460 IF YY=1 THEN CURSORX 16:CURSORY 24: PRINT "Choix impossible";
1470 A$="XX"
1480 RETURN
1490 REM Tirage du bateau 4X
1500 Q=INT(RND(1)*140)+1
1510 I=Q-10*INT(Q/10)
1520 IF I=0 THEN I=18
1530 J=(Q-1)/(10)+1:W=INT(RND(1)*2)+1
1540 IF W<>1 GOTO 1600
1550 FOR K=-1 TO 4
1560 T(I+K,J-1)=5:T(I+K,J+1)=5
1570 T(I+K,J)=4
1580 NEXT K
1590 T(I-1,J)=5:T(I+4,J)=5
1600 IF W<>2 THEN RETURN
1610 FOR K=-1 TO 4
1620 T(I-1,J+K)=5:T(I+1,J+K)=5
1630 T(I,J+K)=4
1640 NEXT K
1650 T(I,J-1)=5:T(I,J+4)=5
1660 RETURN
1670 REM Tirage des bateaux 3X
1680 FOR L=1 TO 2
1690 H=INT(RND(1)*2)+1
1700 IFH=1 THEN GOSUB 1950 
1710 IFH<>1 THEN GOSUB 2040
1720 NEXT L
1730 RETURN
1740 REM Tirage des bateaux 2X
1750 FOR L=1 TO 3
1760 Y=INT(RND(1)*2)+1
1770 IF Y=1 THEN GOSUB 2150
1780 IF Y=2 THEN GOSUB 2260
1790 NEXT L
1800 RETURN
1810 REM Tirage des bateaux 1X
1820 FOR L=1 TO 4
1830 U=INT(RND(1)*221)+1
1840 I=U-13*INT(U/13)
1850 IF I=0 THEN I=13
1860 J=(U-I)/(13)+1
1870 IF T(I,J)<>0 THEN GOTO 1830
1880 FOR K=-1 TO 1
1890 T(I+K,J-1)=5:T(I+K,J+1)=5
1900 T(I+K,J)=1
1910 NEXT K
1920 T(I-1,J)=5:T(I+1,J)=5
1930 NEXT L
1940 RETURN
1950 O=INT(RND(1)*165)+1:I=O-11*INT(O/11):IF I=0 THEN I=11
1960 J=(O-I)/(11)+1
1970 IF T(I,J)<>0 OR T(I+1,J)<>0 OR T(I+2,J)<>0 THEN GOTO 1950
1980 FOR K=-1 TO 3
1990 T(I+K,J-1)=5:T(I+K,J+1)=5
2000 T(I+K,J)=30+L
2010 NEXT K
2020 T(I-1,J)=5:T(I+3,J)=5
2030 RETURN
2040 O=INT(RND(1)*165)+1
2050 I=O-11*INT(O/11)
2060 IF I=0 THEN I=11
2070 J=(O-I)/(11)+1
2080 IF T(I,J)<>0 OR T(I,J+1)<>0 OR T(I,J+2)<>0 THEN GOTO 2040
2090 FOR K=-1 TO 3 
2100 T(I-1,J+K)=5:T(I+1,J+K)=5
2110 T(I,J+K)=30+L
2120 NEXT K
2130 T(I,J-1)=5:T(I,J+3)=5
2140 RETURN
2150 D=INT(RND(1)*192)+1
2160 I=D-12*INT(D/12)
2170 IF I=0 THEN I=12
2180 J=(D-I)/(12)+1
2190 IF T(I,J)<>0 OR T(I+1,J)<>0 THEN GOTO 2150
2200 FOR K=-1 TO 2
2210 T(I+K,J-1)=5:T(I+K,J+1)=5
2220 T(I+K,J)=20+L
2230 NEXT K
2240 T(I-1,J)=5:T(I+2,J)=5
2250 RETURN
2260 D=INT(RND(1)*192)+1
2270 I=D-12*INT(D/12)
2280 IF I=0 THEN I=12
2290 J=(D-I)/(12)+1
2300 IF T(I,J)<>0 OR T(I,J+1)<>0 THEN GOTO 2260
2310 FOR K=-1 TO 2
2320 T(I-1,J+K)=5:T(I+1,J+K)=5
2330 T(I,J+K)=20+L
2340 NEXT K
2350 T(I,J-1)=5:T(I,J+2)=5
2360 RETURN 
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Carl »

Merci Mokona pour le programme de conversion...
Merci à Hervé et Xavier pour les saisies...

Carl
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Markerror »

Je me doutais bien que Xavier finirait par craquer en voyant tout ces beaux listings à taper :-). Merci pour "Bataille navale", ça en fait un de moins de bonne taille à faire. Du coup, ça m'a motivé ce matin, et avant d'aller au boulot, j'ai tapé Tic tac toe. On rajoute à la liste Taquin et karo depuis...

Reste à faire pour les courageux : labyrinthe, radar, carré, réactions en chaîne.
Xavier_AL

Re: Listing, k7, petits programmes pour VG5000....

Message par Xavier_AL »

"karo": 'jeux sur VG5000' page 167.
[zut, déjà tapé !
je réserve 'réaction en chaîne'...]

Code : Tout sélectionner

10 REM ********
20 REM * KARO *
30 REM ******** 
40 GOSUB 5000
50 GOSUB 6000
60 GOSUB 400:GOSUB 800
70 NC=NC+1
80 GOTO 60
100 REM Tracé du cadre
110 RESTORE
120 ET 0,0,0
130 FOR I=1 TO 19:FOR J=1 TO 13 STEP 4
140 CURSORX A+I:CURSORY B+J
150 PRINT CHR$(110);
160 NEXT J:NEXT I
170 FOR I=1 TO 13:FOR J=1 TO 19 STEP 6
180 CURSORX A+J:CURSORY I+B 
190 PRINT CHR$(110);
200 NEXT J:NEXT I
210 TX 0,0,0
220 CURSORY B:FOR I=3 TO 15 STEP 6
230 READ R$:CURSORX A+I:PRINT R$;
240 NEXT I
250 FOR I=3 TO 11 STEP 4:READ R$:CURSORX A:CURSORY B+I:PRINT R$;
260 NEXT I
270 RETURN
300 REM Allumage d'une case
310 IF C(X,Y)=1 THEN C(X,Y)=0:C=4:GOTO 330
320 C=1:C(X,Y)=1
330 ET C,0,0
340 FOR I=0 TO 4:FOR J=0 TO 2
350 CURSORX 2+(X-1)*6+I+A
360 CURSORY 2+(Y-1)*4+J+B
370 PRINT CHR$(110);
380 NEXT J:NEXT I
390 RETURN
400 REM Choix d'une case par le joueur
410 TX 0,0,0
420 CURSORX 1 :CURSORY 20:TT$="F"
430 IF WW=1 THEN TT$="S"
440 PRINT "POUR ARRETER : ";TT$
450 CURSORX 25:CURSORY 0
460 PRINT "Case ?";
470 CURSORX 25:CURSORY 1
480 INPUT CA$
490 IF CA$="F" AND WW<>1 THEN 10010
500 YY$=LEFT$(CA$,1):Y=1
510 IF YY$="B" THEN Y=2
520 IF YY$="C" THEN Y=3
530 X=VAL(RIGHT$(CA$,1))
540 CURSORX 25:CURSORY 1
550 PRINT "       ";
560 IF CA$="S" AND WW=1 THEN RETURN
570 IF Y=1 AND YY$<>"A" THEN 400
580 IF X>3 OR X=0 THEN 400
590 RETURN
600 REM Choix de la figure 
610 IF FI$="N" GOTO 630
620 GOTO 730
630 REM Figure aléatoire
640 A=1:B=0
650 FOR X=1 TO 3
660 FOR Y=1 TO 3
670 NB=INT(RND(1)*2):IF NB=2 THEN NB=1
680 IF NB=1 THEN GOSUB 300:GOSUB 1000
690 NEXT Y
700 NEXT X
710 GOSUB 1070
720 RETURN
730 REM Création de la figure
740 A=1:B=0:WW=1
750 FOR U=1 TO 9
760 GOSUB 400:IF CA$="S" THEN 780
770 GOSUB 300:GOSUB 1000:NEXT U
780 GOSUB 1070:WW=0
790 RETURN
800 REM Action relative à la case nue
810 IF X=2 AND Y<>2 THEN GOSUB 870 
820 IF X=2 AND Y=2 THEN GOSUB 890
830 IF Y=2 AND X<>2 THEN GOSUB 880
840 IF X=2 OR Y=2 THEN RETURN
850 GOSUB 930
860 RETURN
870 FOR X=1 TO 3:GOSUB 300 NEXT X:X=2:RETURN
880 FOR Y=1 TO 3:GOSUB 300:NEXT Y:Y=2:RETURN
890 FOR X=1 TO 3:GOSUB 300:NEXT X
900 Y=1:X=2:GOSUB 300
910 Y=3:GOSUB 300
920 RETURN
930 GOSUB 300:XX=X:X=2:GOSUB 300
940 Y=2:GOSUB 300
950 X=XX:GOSUB 300
960 RETURN
1000 REM Calcul de la solution
1010 J=3*(Y-1)+X
1020 FOR I=1 TO 9
1030 SO(I,J)=SO(I,J)+SO(I,KJ)
1040 NEXT I
1050 KJ=J
1060 RETURN
1070 REM CALCUL DE LA SOLUTION
1080 FOR I=1 TO 9
1090 SO(I,9)=SGN(SO(I,KJ)-2*INT(SO(I,KJ)/2))
1100 NEXT I 
1110 RETURN 
1200 REM Initialisation du tableau sol. 
1210 FOR I=1 TO 9:FOR J=1 TO 9 
1220 X=INT((I-1)/3):Y=INT((J-1)/3) 
1230 U=(X-Y)^2+(I-J-3*X+3*Y)^2
1240 K=3*ABS(SGN(I-5))-2*((-1)^SGN(I-2*INT(I/2)))
1250 U=INT(U):K=INT(K)
1260 IF U<>K AND U<>K4+3 THEN SO(J,I)=1 
1270 NEXT J:NEXT I
1280 RETURN
1290 DATA 1,2,3,A,B,C 
5000 REM Présentation
5010 INIT 3,0:TX 4,7,0  
5020 CURSORX 15:CURSORY 0 
5030 PRINT "K a r o " 
5040 CURSORX 15:CURSORY 1 
5050 PRINT "K a r o "
5060 TX 8,0,0:PRINT :PRINT
5070 PRINT "But du jeu: reconstituer une figure"
5080 PRINT "placée dans une grille de neuf cases" 
5090 PRINT "avec les principes suivants :"
5100 PRINT :PRINT
5110 PRINT "B2 active A2 B2 C2 B1 B3"
5120 PRINT "A1 active A1 A2 B1 B2"
5130 PRINT "A3 active A2 A3 B2 B3"
5140 PRINT "C1 active C1 C2 B1 B2"
5150 PRINT "C3 active C2 C3 B2 B3"
5160 PRINT "A2 active A1 A2 A3"
5170 PRINT "C2 active C1 C2 C3"
5180 PRINT "B1 active A1 B1 C1"
5190 PRINT "B3 active A3 B3 C3"
5200 PRINT :PRINT :PRINT
5210 INPUT"Voulez-vous créer votre figure (O/N) ";FI$
5220 IF FI$<>"O" AND FI$<>"N" GOTO 5210
5230 RETURN
6000 REM Initialisations
6010 DIM SO(9,9),C(3,3) 
6020 INIT 7,2
6030 A=1:B=0:GOSUB 100
6040 A=20:B=10:GOSUB 100
6050 SETET 110,"FFFFFFFFFFFFFFFFFFFF"
6060 A=1:B=0
6070 FOR X=1 TO 3:FOR Y=1 TO 3
6080 C(X,Y)=1:GOSUB 300
6090 NEXT Y:NEXT X
6100 GOSUB 1200:GOSUB 600:REM Choix figure
6110 A=20:B=10
6120 FOR X=1 TO 3:FOR Y=1 TO 3
6130 C(X,Y)=1:GOSUB 300
6140 NEXT Y:NEXT X
6150 RETURN
10000 REM Fin de partie
10010 PLAY "AAABADDDDDAAEEEFFG"
10020 FOR X=1 TO 3:FOR Y=1 TO 3
10030 C(X,Y)=1:GOSUB 300
10040 NEXT Y:NEXT X
10050 REM Affichage de la solution
10060 TX 0,0,0
10070 CURSORX 25:CURSORY 0:PRINT "         "; 
10080 CURSORX 25:CURSORY 1:PRINT "         ";
10090 FOR U=1 TO 9
10100 TX 0,0,0
10110 Y=INT((U-1)/3)+1:X=U-3*(Y-1)
10120 CA$="C":IF Y=1 THEN CA$="A"
10130 IF Y=2 THEN CA$="B"
10140 CA$=CA$+RIGHT$(STR$(X),1)
10150 IF SO(U,9)=1 THEN CURSORX 25:CURSORY U-1:PRINT CA$+"        ";:PLAY "AB":GOSUB 800 
10160 NEXT U
10170 CURSORX 1:CURSORY 0:TX 0,0,0
10180 PRINT "Nombre de coups :";NC;
10190 CURSORX 1:CURSORY 1
10200 PRINT "Autre partie (O/N)";
10210 INPUT NP$
10220 NP$=LEFT$(NP$,1)
10230 IF NP$="O" OR NP$="o" THEN RUN
10240 CURSORX 1:CURSORY 2:PRINT "Au revoir !"
10250 END 
Xavier_AL

Re: Listing, k7, petits programmes pour VG5000....

Message par Xavier_AL »

"Réaction en chaîne": 'jeux sur VG5000' page 193.

Code : Tout sélectionner

10 REM *********************
20 REM Réactions en chaine *
30 REM *********************
40 PLAY "ABCDEABCDEEEAAAAAA"
50 GOSUB 5000: REM Mode d'emploi
60 GOSUB 1500: REM Tracé du terrain
70 DEFFN AR(X)=INT((X-INT(X))*2)+INT(X)
80 DIM R(6,6)
90 FOR I=0 TO 6
100 FOR J=0 TO 6
110 R(I,J)=0
120 NEXT J:NEXT I
130 C$=A$:NC=0
500 REM Choix d'une case
510 TX 0,0,0: NC=NC+1
520 CURSORX 1:CURSORY 22
530 PRINT"                   ":PRINT"                   "
540 CURSORX 1:CURSORY 22:PRINT "JOUEUR ";:PRINT C$:PLAY "O2ABC"
550 PRINT "CASE: COLONNE ";:INPUT I$:CURSORX 14:CURSORY 23:PRINT"    " 
560 CURSORX 7:CURSORY 23:PRINT "LIGNE   ";:INPUT J$
570 I=VAL(LEFT$(I$,1))
580 J=VAL(LEFT$(J$,1))
590 IF I<1 OR J<1 OR I>5 OR J>5 GOTO 520
600 REM Ajout 1 Particule dans la case
610 IF C$=A$ THEN C=1:C$=B$:GOTO 630
620 C=10:C$=A$ 
630 R(I,J)=R(I,J)+C
640 REM Test de validité du. coup Joué
650 IF R(I,J)>10 AND INT(R(I,J)/10)<>R(I,J)/10 THEN 680
660 GOTO 740
670 REM Coup impossible
680 R(I,J)=R(I,J)-C:CURSORX 1:CURSORY 22
690 PRINT "Coup impossible"
700 FOR I=1 TO 20 :PLAY "AE":NEXT I
710 IF C$=A$ THEN C$=B$:GOTO 500
720 C$=A$:GOTO 500
730 REM Test d'explosion de la case
740 IF (R(I,J)>=3 AND R(I,J)<10) OR R(I,J)>=30 THEN GOSUB 800:GOSUB 1000
750 Z=0:T=0:GOSUB 1800
760 IF (Z=0 OR T=0)AND NC<>1 GOTO 10000
770 GOTO 500
800 REM Contamination cases voisines 
810 RT=1
820 X=INT(R(I,J)/(3*C))
830 K=I-1:L=J:GOSUB 1100
840 IF K>0 THEN GOSUB 1830
850 K=I+1:GOSUB 1100
860 IF K<6 THEN GOSUB 1830
870 K=I:L=J-1:GOSUB 1100
880 IF L>0 THEN GOSUB 1830
890 L=J+1:GOSUB 1100 
900 IF L<6 THEN GOSUB 1830
910 R(I,J)=R(I,J)-3*C*X
920 R(I,J)=FNAR(R(I,J))
930 K=I:L=J:GOSUB 1830
940 RETURN
1000 REM Explosion Case 
1010 EX=0:SS=0:TT=0
1020 FOR I=1 TO 5:FOR J=1 TO 5
1030 IF R(I,J)>9 THEN SS=SS+1
1040 IF R(I,J)<10 AND R(I,J)>0 THEN TT=TT+1
1050 IF (R(I,J)>=3 AND R(I,J)<10) OR R(I,J)>=30 THEN EX=1:GOSUB 800
1060 NEXT J:NEXT I
1070 IF SS=0 OR TT=0 THEN GOSUB 10000 
1080 IF EX=1 THEN 1000
1090 RETURN
1100 REM Cases voisines 
1110 IF C=1 THEN IF R(K,L)>9 THEN R(K,L)=R(K,L)/10
1120 IF C=10 THEN IF R(K,L)<10 THEN R(K,L)=R(K,L)*10
1130 R(K,L)=FNAR(R(K,L))
1140 R(K,L)=R(K,L)+(X*C) 
1150 RETURN
1500 REM Tracé de la grille
1510 SETET 110,"FFFFFFFFFFFFFFFFFFFF"
1520 INIT 7,7:ET 0,0,0
1530 REM Lignes verticales
1540 FOR K=1 TO 21
1550 FOR L=2 TO 37 STEP 7
1560 CURSORX L:CURSORY K
1570 PRINT CHR$(110);
1580 NEXT L:NEXT K
1590 REM Lignes horizontales
1600 FOR L=1 TO 21 STEP 4
1610 CURSORY L:CURSORX 2:DELIM 0,0,0:CURSORX 38:DELIM 7,7,0
1620 NEXT L
1630 RETURN
1800 REM Affiche la grille résultat
1810 RT=0
1820 FOR K=1 TO 5:FOR L=1 TO 5
1830 R(K,L)=FNAR(R(K,L))
1840 D=1
1850 IF R(K,L)>9 THEN D=2
1860 IF R(K,L)=0 THEN D=7
1870 IF D=1 THEN Z=Z+1
1880 IF D=2 THEN T=T+1
1890 Y=R(K,L)/(D+(8*(D-1)))-1
1900 Y=FNAR(Y)
1910 IF D=7 OR Y>2 THEN Y=2
1920 FOR N=0 TO 2
1930 CURSORX 3+(7*(K-1)):CURSORY 4*L-N
1940 IF N>Y THEN D=7
1950 ET D,0,0
1960 FOR W=1 TO 6
1970 PRINT CHR$(110);
1980 NEXT W
1990 NEXT N
2000 IF RT=1 THEN RETURN
2010 NEXT L
2020 NEXT K
2030 RETURN
5000 REM MODE D'EMPLOI
5010 INIT 6,1:TX 4,3,0:PAGE
5020 CURSORX 0:CURSORY 0:PRINT "R é a c t i o n s   e n   c h a î n e s"
5030 CURSORX 0:CURSORY 1:PRINT "R é a c t i o n s   e n   c h a î n e s"
5040 TX 0,0,0
5050 PRINT "La partie se joue à deux ,joueurs, dis-"
5060 PRINT "posant chacun d'une couleur. Le terrain"
5070 PRINT "est composé de 25 cases pouvant, conte-"
5080 PRINT "nir chacune jusqu'à trois particules."
5090 PRINT "Les joueurs  déposent  à  tour de rôle"
5100 PRINT "des particules  dans  une case vide ou"
5110 PRINT "dans une case contenant déjà des parti"
5120 PRINT "-cules  de  la  même couleur. Une case"
5130 PRINT "pleine explose automatiquement et qua-"
5140 PRINT "tre particules sont projetées dans les"
5150 PRINT "quatre cases adjacentes. Celles-ci de-"
5160 PRINT "viennent  alors de  la couleur  de  la"
5170 PRINT "case gui vient d'exploser."
5180 PRINT "Le vainqueur est le joueur qui prend" 
5190 PRINT "toutes les particules de son adversaire"
5200 PRINT "Entrer le nom des deux joueurs"
5210 INPUT "Joueur 1 ";A$
5220 INPUT "Joueur 2 ";B$
5230 PRINT :PRINT "Pour commencer, appuyer sur RET"
5240 INPUT C$
5250 RETURN
10000 REM Fin de Partie
10010 INIT 3,0:TX 0,0,0
10020 C$=A$
10030 IF TT=0 OR Z=0 THEN C$=B$
10040 PRINT "La partie est terminée !"
10050 PLAY "AAABAAABCCEEEFFG"
10060 PRINT "Le joueur ";:PRINT C$;:PRINT " a gagné !                    BRAVO!!!"
10070 PRINT "Nouvelle partie "; 
10080 INPUT NP$
10090 IF NP$="O" OR NP$="o" THEN RUN
10100 PRINT "Au revoir"
10110 END 
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Markerror »

Aie, désolé Xavier pour Karo. Personne n'a tapé ces listings en 30 ans, et maintenant, on fait des doublons :-).
Merci pour tes efforts, il ne reste donc plus que labyrinthe, radar, carré.

Je réserve carré.
Xavier_AL

Re: Listing, k7, petits programmes pour VG5000....

Message par Xavier_AL »

Je prends "radar" !
:D
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Markerror »

Carrés tapé... Je termine en beauté avec Labyrinthe avant de corriger les bugs probables dans tout ce beau monde (enfin, les listings que je n'ai pas tapés :-) ). Avec un peu de bol, l'archive finale sera disponible dimanche...
Xavier_AL

Re: Listing, k7, petits programmes pour VG5000....

Message par Xavier_AL »

"Radar": 'jeux sur VG5000' page 122.

Code : Tout sélectionner

10 REM ******
20 REM RADAR
30 REM ******
40 GOSUB 5000:GOSUB 5110:DISPLAY 1
50 C=2:L=7:GOSUB 120
60 FOR I=1 TO 30
70 GOSUB 180:GOSUB 350
80 IF C=CA AND L=LA GOTO 10040
90 FUITE=FUITE-1:SOUND 150,10,2
100 IF FUITE=0 THEN GOSUB 120
110 NEXT I:GOTO 10000
120 REM Mise en place de l'avion
130 CA=INT(RND(1)*10)+1
140 LA=INT(RND(1)*10)+1
150 IF CA=11 OR LA=11 THEN 130
160 FUITE=4:SOUND 150,1,10
170 RETURN
180 REM Déplacement du curseur
190 CURSORX 10+2*(C-1):CURSORY 2*L-1
200 ET 4,0,1:PRINT CHR$(126)
220 CURSORX 10+2*(C-1):CURSORY 2*L-1
230 ET 0,0,0:PRINT CHR$(126)
240 IF STICKX(2)=1 THEN C=C+1
250 IF STICKX(2)=255 THEN C=C-1
260 IF C>10 THEN C=10
270 IF C<1 THEN C=1
280 IF STICKY(2)=1 THEN L=L+1
290 IF STICKY(2)=255 THEN L=L-1
300 IF L>10 THEN L=10
310 IF L<1 THEN L=1
320 IF ACTION(2)=1 THEN RETURN 
340 GOTO 180
350 REM Distance de l'objectif
360 N1=0:S1=0:N2=0:S2=0
370 IF CA<C THEN 410
380 REM Joueur à gauche de l'avion
390 IF LA<L THEN N2=1:GOTO 430
400 S2=1:GOTO 430 
410 IF LA<L THEN N1=1:GOTO 430
420 S1=1
430 REM Visualiation
440 IF C=CA AND L>LA THEN N1=1:N2=1
450 IF C=CA AND L<LA THEN S1=1:S2=1
460 IF L=LA AND C<CA THEN N2=1:S2=1
470 IF L=LA AND C>CA THEN N1=1:S1=1
480 TX 4,0,0
490 CURSORX 1:CURSORY 2:PRINT "no:";N1
500 CURSORX 1:CURSORY 4:PRINT "ne:";N2
510 CURSORX 1:CURSORY 6:PRINT "so:";S1
520 CURSORX 1:CURSORY 8:PRINT "se:";S2
530 RETURN
5000 REM Présentation
5010 INIT 2,2:TX 4,7,0
5020 CURSORX 4:CURSORY 10
5030 PRINT "r a d a r "
5040 CURSORX 4:CURSORY 11
5050 PRINT "r a d a r "
5060 TX 0,0,0:PRINT :PRINT
5070 PRINT "RET pour commencer";
5080 INPUT R$
5090 RETURN
5110 REM Tracé et initialisations
5120 INIT 0,0:TX 1,0,0:PAGE
5130 FOR I=0 TO 20
5140 CURSORX 9:CURSORY I
5150 PRINT CHR$(127)
5160 CURSORX 29:CURSORY I
5170 PRINT CHR$(127)
5180 NEXT I
5190 FOR I=10 TO 28
5200 CURSORX I:CURSORY 0
5210 PRINT CHR$(127);
5220 CURSORX I:CURSORY 20
5230 PRINT CHR$(127);
5240 NEXT I
5250 SETET 126,"08082810E808083E3E3E"
5260 RETURN
10000 REM Test de fin de partie
10010 INIT 7,7:TX 0,0,0:PLAY"O1GFEDAAA"
10020 PRINT "Votre pays est rasé" 
10030 GOTO 10080
10040 REM Gagné
10050 INIT 2,2:TX0,0,0:PLAY"O1T1ABCDEFG"
10060 PRINT "Félicitations, VOUS l'avez abattu"
10080 PRINT :PRINT "Une autre partie"
10090 INPUT P$
10100 IF P$="o" OR P$="O" THEN RUN
10110 INIT 6,6:END 
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Carl »

nécessite un VG5000 avec VG5216 ou VG5000 avec VG5232


Image Image

Code : Tout sélectionner

1 GOSUB 13920
10 REM << LABYRINTHE ET LA PRINCESSE>>
11 REM EDISOFT 1985
20 INIT 0,4
30 SETET 48,"000000030303030F3F78":SETET 49,"00000080808080E0F83C":SETET 50,"F0F4F0F1F8FDFE7C3F00"
40 SETET 51,"1E5E1E1E3E7EFE7CF800":SETET 33,"0010101038FE38101010":SETET 125,"001F20407F4240407F00"
50 SETET 125,"001F20407F4240407F00":SETET 126,"00FC0A16FA121214F800":SETET 71,"000000000000030C30C0"
60 SETET 72,"0000030C30C000000000":SETET 73,"30C00000000000000000":SETET 74,"0000000000000000030C"
70 SETET 75,"00000000030C30C00000":SETET 76,"030C30C0000000000000":SETET 41,"30C0000000000000C030"
80 SETET 40,"08080B0C08080C0B0808":SETET 89,"FF000000000000000000":SETET 90,"0000000000FF00000000"
90 SETET 78,"0000000000000000C33C":SETET 65,"C0300C03000000000000":SETET 66,"00000000C0300C030000"
100 SETET 67,"0000000000000000C030":SETET 68,"0C030000000000000000":SETET 69,"0000C0300C0300000000"
110 SETET 70,"000000000000C0300C03":SETET 80,"FF010101010101010101":SETET 81,"FF808080808080808080"
120 SETET 80,"FF010101010101010101":SETET 81,"FF808080808080808080":SETET 61,"0103070301070B132343"
130 SETET 62,"80C0E0C080E0D0C8C4C2":SETET 63,"01010103020202020206":SETET 64,"808080C0404040404060"
140 SETET 79,"3CC30000000000000000":SETET 36,"080808080808C83838C8":SETET 037,"08080808080808080808"
150 SETET 114,"E05048484AFB4A4850E0":SETET 42,"FCFCFCFCFCFCFCFCFCFC":SETET 43,"F0F0F0F0F0F0F0F0F0F0"
155 SETET 44,"C0C0C0C0C0C0C0C0C0C0"
160 XP=INT(RND(1)*40+2):YP=INT(RND(XP)*40+2)
170 GOSUB 310
180 FOR J=1 TO NB
190 INIT 0,4:IF VJ(J)<0 THEN GOTO 290
200 P=INT(RND(P)*8+1)
210 IF P=1 THEN GOSUB 410
220 IF P=2 THEN GOSUB 580
230 IF P=3 THEN GOSUB 860
240 IF P=4 THEN GOSUB 1140
250 IF P=5 THEN GOSUB 1510
260 IF P=6 THEN GOSUB 1800
270 IF P=7 THEN GOSUB 2130
280 VJ(J)=VJ(J)-1:IF(XJ(J)=XP AND YJ(J)=YP) THEN GOSUB 3920
290 NEXT J
300 GOTO 180
310 REM < VOUS ETES >
320 TX5:CURSORY 6:CURSORX 15:PRINT "VOUS ETES :"
330 ET1,3:CURSORY 8:CURSORX 17:PRINT "==":CURSORX 17:PRINT "=="
340 CURSORY 8:CURSORX 19:PRINT ">>":CURSORX 19:PRINT ">>"
350 CURSORY 10:CURSORX 17:PRINT "??":CURSORX 17:PRINT "??"
360 CURSORY 10:CURSORX 19:PRINT "@@":CURSORX 19:PRINT "@@"
370 CURSORY 13:CURSORX 10:TX7:INPUT "COMBIEN DE JOUEURS ";NB
380 FOR J=1 TO NB:VJ(J)=INT(RND(J)*200+50):XJ(J)=INT(RND(J)*40+2):YJ(J)=INT(RND(J)*40+2):OJ(J)=INT(RND(J)*4):NEXT J
390 RETURN
400 REM < TOUT DROIT >
410 Y=1:X=0:G=0:T=1:D=0
420 IF(X>37 OR Y>16)THEN GOTO 450
430 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:PRINT "DEF"
440 Y=Y+2:X=X+5:GOTO 420
450 Y=1:X=37
460 IF X<3 THEN GOTO 510
470 ET7:CURSORY Y:CURSORX X:PRINT "GHI":CURSORY Y+1:CURSORX X-3:PRINT "JKL"
480 IF X<4 THEN GOTO 510
490 CURSORY Y+1:CURSORX X-3:PRINT "JKL"
500 Y=Y+2:X=X-5:GOTO 460
510 SETET 077,"000000000000C0300F0F"
520 CURSORY 8:CURSORX 19:PRINT "M"
530 ET7:CURSORY Y:CURSORX X:PRINT "GHI":CURSORY Y+1:CURSORX 0:PRINT "KL"
540 FOR X=0 TO 39
550 TX7:CURSORY 16:CURSORX X:PRINT CHR$(126):CURSORY0:CURSORX X:PRINT "_"
560 NEXT X
561 FOR Q=3 TO 14:CURSORY Q:CURSORX 4:TX7:PRINT CHR$(127);:CURSORX 35:PRINT CHR$(127):NEXT Q
562 FOR Q=5 TO 12:CURSORY Q:CURSORX 8:ET7:PRINT "*";:CURSORX 31:PRINT "*":NEXT Q
563 FOR Q=7 TO 10:CURSORY Q:CURSORX 12:ET7:PRINT "+";:CURSORX 27:PRINT "+":NEXT Q
564 FOR Q=8 TO 9:CURSORY Q:CURSORX 16:ET7:PRINT ",";:CURSORX 23:PRINT ",":NEXT Q
579 GOTO 2440
580 REM < DROITE >
590 Y=1:X=0:G=0:T=0:D=1
600 IF X>14 THEN GOTO 630
610 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
620 Y=Y+2:X=X+5:GOTO 600
630 X=40:Y=1
640 IF Y>4 THEN GOTO 670
650 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORY Y+1:CURSORX X-5:PRINT "GHI"
660 Y=Y+2:X=X-5:GOTO 640
670 X=14:Y=10
680 IF Y>13 THEN GOTO 710
690 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORX X-5:PRINT "GHI"
700 Y=Y+2:X=X-5:GOTO 680
710 Y=12:X=30
720 IF(Y>16 OR X>37)THEN GOTO 750
730 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
740 Y=Y+2:X=X+5:GOTO 720
750 ET7:CURSORY 14:CURSORX 1:PRINT "JKL":CURSORY 15:CURSORX 0:PRINT "HI"
760 FOR X=0 TO 39:TX7:CURSORY 16:CURSORX X:PRINT CHR$(126):CURSORY0:CURSORX X:PRINT "_":NEXT X
790 ET7:CURSORY 6:CURSORX 14:PRINT "ZZZZZZZZZZZZZZZZ":ET7:CURSORY 10:CURSORX 14:PRINT "YYYYYYYYYYYYYYYY"
810 TX7:CURSORY 7:CURSORX 14:PRINT CHR$(123):CURSORX 14:PRINT CHR$(123):CURSORX 14:PRINT CHR$(123)
820 TX7:CURSORY 5:CURSORX 30:PRINT CHR$(123):CURSORX 30:PRINT CHR$(123):CURSORX 30:PRINT CHR$(123)
830 CURSORX 30:PRINT CHR$(123):CURSORX 30:PRINT CHR$(123):CURSORX 30:PRINT CHR$(123):CURSORX 30:PRINT CHR$(123)
835 FOR Q=3 TO 12:CURSORY Q:CURSORX 35:TX7:PRINT CHR$(127);:CURSORX 4:PRINT CHR$(127):NEXT Q
836 FOR Q=5 TO 10:CURSORY Q:CURSORX 31:ET7:PRINT "*";:CURSORX 8:PRINT "*":NEXT Q
837 FOR Q=7 TO 9:FOR K=12 TO 28 STEP 4:CURSORY Q:CURSORX K:ET7:PRINT "+":NEXT K:NEXT Q
849 GOTO 2440
850 REM < GAUCHE >
855 INIT 4,0
860 FOR X=0 TO 39
870 TX7:CURSORY 0:CURSORX X:PRINT CHR$(95)
880 CURSORY 16:CURSORX X:PRINT CHR$(126)
890 NEXT X
900 Y=1:X=0:G=1:T=0:D=0
910 IF(Y>4 OR X>10)THEN GOTO 940
920 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
930 Y=Y+2:X=X+5:GOTO 910
940 Y=10:X=25
950 IF(Y>19 OR X>36)THEN GOTO 980
960 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
970 Y=Y+2:X=X+5:GOTO 950
980 Y=1:X=40
990 IF(Y>5 OR X<25)THEN GOTO 1020
1000 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORY Y+1:CURSORX X-5:PRINT "GHI"
1010 Y=Y+2:X=X-5:GOTO 990
1020 Y=12:X=10
1030 IF(Y>16 OR X<1)THEN GOTO 1060
1040 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORY Y+1:CURSORX X-5:PRINT "GHI"
1050 Y=Y+2:X=X-5:GOTO 1030
1060 FOR X=10 TO 25
1070 ET7:CURSORY 6:CURSORX X:PRINT "Z":TX7:CURSORY 10:CURSORX X:PRINT CHR$(96)
1080 NEXT X
1090 CURSORY 5:CURSORX 9:PRINT CHR$(125):CURSORX 9:PRINT CHR$(125):CURSORX 9:PRINT CHR$(125):CURSORX 9:PRINT CHR$(125)
1100 CURSORX 9:PRINT CHR$(125):CURSORX 9:PRINT CHR$(125):CURSORX 9:PRINT CHR$(125)
1110 CURSORX 26:CURSORY 7:PRINT CHR$(123):CURSORX 26:PRINT CHR$(123):CURSORX 26:PRINT CHR$(123)
1111 FOR Q=3 TO 13:CURSORY Q:CURSORX 4:TX7:PRINT CHR$(127);:CURSORX 35:PRINT CHR$(127):NEXT Q
1112 FOR Q=5 TO 11:CURSORY Q:CURSORX 8:ET7:PRINT "*";:CURSORX 31:PRINT "*":NEXT Q
1113 FOR Q=7 TO 9:FOR K=12 TO 28 STEP4:CURSORY Q:CURSORX K:PRINT "+";:CURSORX K:PRINT "+":NEXT K:NEXT Q
1114 GOTO 2440
1130 REM < TOUT-DROIT DROITE GAUCHE >
1140 T=1:D=1:G=1
1150 FOR X=0 TO 39
1160 TX7:CURSORY 0:CURSORX X:PRINT CHR$(95)
1170 CURSORY 16:CURSORX X:PRINT CHR$(126)
1180 NEXT X
1190 Y=1:X=0
1200 IF(Y>4 OR X>10)THEN GOTO 1230
1210 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
1220 Y=Y+2:X=X+5:GOTO 1200
1230 Y=12:X=30
1240 IF(Y>16 OR X>39)THEN GOTO 1270
1250 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
1260 Y=Y+2:X=X+5:GOTO 1240
1270 X=40:Y=1
1280 IF Y>4 THEN GOTO 1310
1290 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORY Y+1:CURSORX X-5:PRINT "GHI"
1300 Y=Y+2:X=X-5:GOTO 1280
1310 X=10:Y=12
1320 IF Y>15 THEN GOTO 1350
1330 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORX X-5:PRINT "GHI"
1340 Y=Y+2:X=X-5:GOTO 1320
1350 CURSORY 7:CURSORX 17:PRINT "ABC":CURSORX 19:CURSORY 8:PRINT "DEF"
1360 CURSORY 7:CURSORX 19:PRINT "JKL":CURSORX 17:PRINT "GHI"
1370 ET7:CURSORY 7:CURSORX 19:PRINT"N":CURSORY 8:CURSORX 19:PRINT "O"
1380 FOR M=10 TO 16
1390 FOR N=22 TO 29
1400 TX7:CURSORY 7:CURSORX M:PRINT CHR$(126):CURSORY 7:CURSORX N:PRINT CHR$(126)
1410 CURSORY 9:CURSORX M:PRINT CHR$(126):CURSORY 9:CURSORX N:PRINT CHR$(126)
1420 NEXT N
1430 NEXT M
1440 CURSORY 7:CURSORX 16:ET7:PRINT "P":CURSORX 16:TX7:PRINT CHR$(125)
1450 CURSORY 7:CURSORX 22:ET7:PRINT "Q":CURSORX 22:TX7:PRINT CHR$(123)
1460 FOR Y=5 TO 11
1470 CURSORY Y:CURSORX 9:PRINT CHR$(125):CURSORY Y:CURSORX 30:PRINT CHR$(123)
1480 NEXT Y
1490 GOTO 2440
1500 REM < DROITE-GAUCHE >
1510 D=1:T=0:G=1
1520 FOR X=0 TO 39
1530 TX7:CURSORY 0:CURSORX X:PRINT CHR$(95)
1540 CURSORY 16:CURSORX X:PRINT CHR$(126)
1550 NEXT X
1560 Y=1:X=0
1570 IF(Y>4 OR X>10)THEN GOTO 1600
1580 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
1590 Y=Y+2:X=X+5:GOTO 1570
1600 Y=12:X=30
1610 IF(Y>16 OR X>39)THEN GOTO 1640
1620 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
1630 Y=Y+2:X=X+5:GOTO 1610
1640 X=40:Y=1
1650 IF Y>4 THEN GOTO 1680
1660 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORY Y+1:CURSORX X-5:PRINT "GHI"
1670 Y=Y+2:X=X-5:GOTO 1650
1680 X=10:Y=12
1690 IF Y>15 THEN GOTO 1720
1700 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORX X-5:PRINT "GHI"
1710 Y=Y+2:X=X-5:GOTO 1690
1720 FOR Y=5 TO 11
1730 TX7:CURSORY Y:CURSORX9:PRINT CHR$(125):CURSORY Y:CURSORX30:PRINT CHR$(123)
1740 NEXT Y
1750 FOR X=10 TO 29
1760 CURSORY 7:CURSORX X:PRINT CHR$(126):CURSORY 9:CURSORX X:PRINT CHR$(95)
1770 NEXT X
1780 GOTO 2440
1790 REM < TOT DROIT-DROITE >
1800 G=0:T=1:D=1
1810 FOR X=0 TO 39
1820 TX7:CURSORY 0:CURSORX X:PRINT CHR$(95)
1830 CURSORY 16:CURSORX X:PRINT CHR$(126)
1840 NEXT X
1850 Y=1:X=0
1860 IF(Y>8 OR X>19)THEN GOTO 1890
1870 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
1880 Y=Y+2:X=X+5:GOTO 1860
1890 Y=12:X=30
1900 IF(Y>16 OR X>39)THEN GOTO 1930
1910 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
1920 Y=Y+2:X=X+5:GOTO 1900
1930 X=40:Y=1
1940 FOR Y=5 TO 11
1950 TX7:CURSORY Y:CURSORX30:PRINT CHR$(123)
1960 NEXT Y
1970 X=40:Y=1
1980 IF Y>4 THEN GOTO 2010
1990 ET7:CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORY Y+1:CURSORX X-5:PRINT "GHI"
2000 Y=Y+2:X=X-5:GOTO 1980
2010 X=19:Y=9
2020 IF Y>13 THEN GOTO 2050
2030 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORX X-5:PRINT "GHI"
2040 Y=Y+2:X=X-5:GOTO 2020
2050 CURSORX 19:CURSORY 8:PRINT "$"
2060 CURSORX 2:CURSORY 15:PRINT "KL"
2070 TX7:CURSORY 5:CURSORX 20:PRINT"__________"
2080 CURSORY 10:CURSORX 19:PRINT"___________"
2090 ET7:CURSORY 6:CURSORX 19:PRINT "%":CURSORX 19:PRINT "%"
2100 CURSORY 9:CURSORX 19:PRINT "%":CURSORX 19:PRINT "%"
2110 GOTO 2440
2120 REM < GAUCHE-TOUT DROIT >
2130 G=1:T=1:D=0
2140 FOR X=0 TO 39
2150 TX7:CURSORY 0:CURSORX X:PRINT CHR$(95)
2160 CURSORY 16:CURSORX X:PRINT CHR$(126)
2170 NEXT X
2180 Y=1:X=0
2190 IF(Y>4 OR X>10)THEN GOTO 2220
2200 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
2210 Y=Y+2:X=X+5:GOTO 2190
2220 Y=8:X=20
2230 IF(Y>14 OR X>38)THEN GOTO 2260
2240 ET7:CURSORY Y:CURSORX X:PRINT "ABC":CURSORX X+2:CURSORY Y+1:PRINT "DEF"
2250 Y=Y+2:X=X+5:GOTO 2230
2260 X=40:Y=1
2270 TX7:CURSORY 5:CURSORX 10:PRINT"___________"
2280 CURSORY 10:CURSORX 10:PRINT"____________"
2290 ET7:CURSORY 6:CURSORX 21:PRINT "%":CURSORX 21:PRINT "%"
2300 CURSORY 9:CURSORX 21:PRINT "%":CURSORX 21:PRINT "%"
2310 X=40:Y=1
2320 IF(Y>7 OR X<20)THEN GOTO 2350
2330 ET7:CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORY Y+1:CURSORX X-5:PRINT "GHI"
2340 Y=Y+2:X=X-5:GOTO 2320
2350 X=10:Y=12
2360 IF Y>14 THEN GOTO 2390
2370 CURSORY Y:CURSORX X-3:PRINT "JKL":CURSORX X-5:PRINT "GHI"
2380 Y=Y+2:X=X-5:GOTO 2360
2390 FOR Y=5 TO 11
2400 CURSORY Y:CURSORX 9:TX7:PRINT CHR$(125)
2410 NEXT Y
2420 CURSORY 8:CURSORX 20:PRINT " ":ET7:CURSORY 8:CURSORX 21:PRINT "()"
2430 REM < DIRECTION ? >
2440 GOSUB 2590
2450 ET1,3:CURSORY 11:CURSORX 17:PRINT "==":CURSORX 17:PRINT "=="
2460 CURSORY 11:CURSORX 19:PRINT ">>":CURSORX 19:PRINT ">>"
2470 CURSORY 13:CURSORX 17:PRINT "??":CURSORX 17:PRINT "??"
2480 CURSORY 13:CURSORX 19:PRINT "@@":CURSORX 19:PRINT "@@"
2490 GOSUB 4260
2500 IF(KEY(0)=7 AND D=1)THEN R(J)=1:GOTO 2550
2510 IF(KEY(0)=8 AND G=1)THEN R(J)=3:GOTO 2550
2520 IF(KEY(0)=9 AND T=1)THEN R(J)=0:GOTO 2550
2530 IF(KEY(0)=10 AND VJ(J)>=0)THEN VJ(J)=VJ(J)+INT(RND(J)*15+5):R(J)=-1:GOSUB 3860:FOR TE=1 TO 400:NEXT TE:RETURN
2540 GOTO 2500
2550 FOR LL=1 TO 24
2560 PRINT
2570 NEXT LL
2580 ET7:RETURN
2590 REM < INT(RND) >
2600 GOSUB 3860
2610 M=INT(RND(1)*20+1)
2620 IF M=1 THEN GOSUB 2710:RETURN
2630 IF(M=2 OR M=3 OR M=4 OR M=5)THEN GOSUB 2800:RETURN
2640 IF(M=6 OR M=7 OR M=8)THEN GOSUB 2910:RETURN
2650 IF M=9 THEN GOSUB 3050:RETURN
2660 IF M=10 THEN GOSUB 3130:RETURN
2670 IF M=11 THEN GOSUB 3340:RETURN
2680 IF M=12 OR M=13 THEN GOSUB 3200:RETURN
2690 IF M>13 THEN RETURN
2700 REM < FANTOME >
2710 SETET 97,"00000000000003070507":SETET 98,"000000000000C0E0A0E0":SETET 99,"0000001C1F1F3F3F3F38"
2720 SETET 100,"0F0E0F0F8FFFFFFFFF0F":SETET 101,"F070F0F0F1FFFFFFFFF0":SETET 102,"00000038F8F8FCFCFC1C"
2730 SETET 103,"0F0F1F1F1F1F3F3F3F3F":SETET 104,"F0F0F8F8F8F8FCFCFCFC":SETET 105,"08140808140808140808"
2740 SETET 106,"3F7F7F7F7F7F7F7F0F00":SETET 107,"FCFEFEFEFEFEFEFEF000":SETET 108,"140808140808140A0502"
2750 ET7:CURSORY 11:CURSORX 18:PRINT"ab":CURSORX 17:PRINT "cdef":CURSORX 18:PRINT "gh":CURSORX 18:PRINT "jk"
2760 ET6:CURSORY 13:CURSORX 20:PRINT "i":CURSORX 20:PRINT "l"
2770 VM=80:AC=0:FM=3:FU=5:TR=0
2780 GOSUB 3640:GOSUB 3450:RETURN
2790 REM < FEU FOLET >
2800 SETET 97,"80C0603030180C060603":SETET 98,"C1C16161616131311919":SETET 99,"8383868686868C8C9898"
2810 SETET 100,"0103060C0C18306060C0":SETET 101,"0100C0F03C0F030000FF":SETET 102,"0000014321100F030303"
2820 SETET 103,"000080C28408F0C0C0C0":SETET 104,"8000030F3CF0C00000FF":SETET 105,"FF0000030F3C30C00001"
2830 SETET 106,"01010302020202020000":SETET 107,"8080C040404040400000":SETET 108,"FF0000C0F03C0F030080"
2840 SETET 109,"0306060C18303060C080":SETET 110,"1919313161616161C1C1":SETET 111,"98989C9C868686868383"
2850 SETET 112,"C0606030180C0C060301"
2860 ET3:CURSORY 11:CURSORX 17:PRINT "abcd":CURSORX 17:PRINT "e":CURSORX 17:PRINT "i":CURSORX 17:PRINT "mnop"
2870 CURSORY 12:CURSORX 20:PRINT "h":CURSORX 20:PRINT "l"
2880 ET1:CURSORY 12:CURSORX 18:PRINT "fg":CURSORX 18:PRINT "jk"
2890 VM=10:AC=0:FM=4:FU=5:TR=0
2900 GOSUB 3640:GOSUB 3450:RETURN
2910 REM < DRAGON >
2920 IF M=6 THEN CC=7
2930 IF M=7 THEN CC=2
2940 IF M=8 THEN CC=1
2950 SETET 97,"00008080C0E0F0F8FCFE":SETET 98,"0000001E0F1101010101":SETET 99,"0038E080808080818181"
2960 SETET 100,"02060F1F3F7FFFFFFFFF":SETET 101,"FFFFFF7F3F1F1F0F0F07":SETET 102,"0101018181C1E3FBFBFB"
2970 SETET 103,"81818183838787CFDFDE":SETET 104,"FFFFFFFFFCF0C0800000":SETET 105,"370707070F0F0F0F0F1F"
2980 SETET 106,"ECECF0F8FEFFFFFFFFFF":SETET 107,"F0E0B01C0E0687C3C3C3":SETET 108,"1F191919191919190000"
2990 SETET 109,"FFFFBF8F808081830000":SETET 110,"E3E3F3FFFFDEC0800000"
3000 ETCC:CURSORY 11:CURSORX 17:PRINT "abcd":CURSORX 17:PRINT "efgh":CURSORX 18:PRINT "ijk":CURSORX 18:PRINT "lmn"
3010 IF M=6 THEN VM=60:AC=0:FM=6:FU=2:TR=1
3020 IF M=7 THEN VM=60:AC=1:FM=9:FU=5:TR=1
3030 IF M=8 THEN VM=60:AC=0:FM=11:FU=5:TR=1
3040 GOSUB 3640:GOSUB 3450:RETURN
3050 REM < TROLL >
3060 SETET 97,"00000000000000071C11":SETET 98,"00000000000000E03888":SETET 99,"00000000001E1F1F1E1E"
3070 SETET 100,"111C070101FFFFFFFF7F":SETET 101,"8838E08080FFFFFFFFFE":SETET 102,"000000000078F8F87878"
3080 SETET 103,"1E1E1E1E0C1E1E1E1E00":SETET 104,"7F7F3F3F3F1F07070707":SETET 105,"FEFEFCFCFCF8E0E0E0E0"
3090 SETET 106,"78787878307878787800":SETET 107,"07071F1F18181818F8F8":SETET 108,"E0E0F8F8181818181F1F"
3100 ET5:CURSORY 11:CURSORX 18:PRINT "ab":CURSORX 17:PRINT "cdef":CURSORX 17:PRINT "ghij":CURSORX 18:PRINT "kl"
3110 VM=40:AC=1:FM=6:FU=3:TR=1
3120 GOSUB 3640:GOSUB 3450:RETURN
3130 REM < GNOMES >
3140 SETET 97,"1C361C087F5D5D1C3663"
3150 CURSORY 11:CURSORX 18:ET3:PRINT "a":CURSORX 17:PRINT "a a":CURSORX 18:PRINT "a a":CURSORX 19:PRINT "a"
3160 CURSORY 11:CURSORX 19:ET2:PRINT "a":CURSORX 18:PRINT "a";:CURSORX 20:PRINT "a":CURSORX17:PRINT "a";:CURSORX 19:PRINT "a"
3170 CURSORX 18:PRINT "a"
3180 VM=20:AC=0:FM=8:FU=4:TR=0
3190 GOSUB 3640:GOSUB 3450:RETURN
3200 ET3,3:REM < TRESOR >
3210 CURSORY11:CURSORX17:PRINT CHR$(125)+CHR$(125)+CHR$(126)+CHR$(126):CURSORX 17:PRINT CHR$(125)+CHR$(125)+CHR$(126)+CHR$(126)
3220 FOR TE=1 TO 500:NEXT TE
3230 HA=INT(RND(J)*7)
3235 IF HA=6 THEN CURSORY 13:CURSORX 18:ET1,3:PRINT "zz":CURSORX 18:PRINT "zz":VJ(J)=VJ(J)+INT(RND(J)*20+20):GOTO 3320
3240 IF HA=5 THEN CURSORY 13:CURSORX 18:ET6,3:PRINT "qq":CURSORX 18:PRINT "qq":FJ(J)=FJ(J)+1:GOTO 3320
3250 IF HA=4 THEN CURSORY 13:CURSORX 18:ET2:PRINT "01":CURSORX 18:PRINT "23":IF FJ(J)>0 THEN FJ(J)=FJ(J)-1:GOTO 3320
3260 IF HA=4 THEN CURSORY 23:CURSORX 24:TX1:PRINT "JOUEUR";J;" MORT":VJ(J)=-1:FOR TE=1 TO 2000:NEXT TE:RETURN
3270 YY=13:XX=17
3280 IF HA=0 THEN GOTO 3320
3290 FOR AH=1 TO HA
3300 CURSORY YY:CURSORX XX:ET3:PRINT "s":OJ(J)=OJ(J)+1:XX=XX+1
3310 NEXT AH
3320 GOSUB 3860:FOR TE=1 TO 2000:NEXT TE
3330 RETURN
3340 REM < ARAIGNEE GEANTE >
3350 SETET 97,"000080C06030180C0603":SETET 98,"80808080808284E43327":SETET 99,"0101010101412127CCE8"
3360 SETET 100,"00000103060C183060C0":SETET 101,"01001F70C0000704040C":SETET 102,"EF1FFF1F0FF7830F1F79"
3370 SETET 103,"F7F8FFF8F0EFC1F0F89E":SETET 104,"8000F80E0300E0202030":SETET 105,"08090B0B030307070707"
3380 SETET 106,"F3E7CFDDDDD9DB9A9BD9":SETET 107,"CFE7F3BBBB9BDB59D99B":SETET 108,"1090D0D0C0C0E0E0E0E0"
3390 SETET 109,"03030101000000000000":SETET 110,"DDCDE7F3F97D3F1F0703":SETET 111,"BBB3E7CF9FBEFCF8E0C0"
3400 SETET 112,"C0C08080000000000000"
3410 ET7:CURSORY 11:CURSORX 17:PRINT "abcd":CURSORX 17:PRINT "efgh":CURSORX 17:PRINT "ijkl":CURSORX 17:PRINT "mnop"
3420 VM=50:AC=1:FM=6:FU=3:TR=0
3430 GOSUB 3640:GOSUB 3450:RETURN
3440 REM STRATEGIE
3450 CURSORX 14:CURSORY 18:TX5:PRINT "AT":CURSORX 14:PRINT "FU":CURSORX 14:PRINT "AC"
3460 CURSORX 16:CURSORY 18:TX6:PRINT "TAQUE?":CURSORX16:PRINT "ITE?":CURSORX 16:PRINT "HAT?"
3470 TX5:CURSORY 22:CURSORX 12:INPUT "CHOIX ";CH$
3480 IF CH$="AC" AND AC=1 THEN GOTO 3520
3490 IF CH$="FU" THEN GOTO 3540
3500 IF CH$="AT" THEN GOTO 3590
3510 GOTO 3470
3520 IF OJ(J)>0 THEN OJ(J)=OJ(J)-1:RETURN
3530 GOTO 3560
3540 IF INT(RND(J)*FU)=0 THEN CURSORY 23:CURSORX 24:TX1:PRINT "FUITE REUSSIE":RETURN
3550 CURSORY 23:CURSORX 24:TX1:PRINT "FUITE INUTILE"
3560 VJ(J)=VJ(J)-INT(RND(J)*FM+1)
3570 SOUND 1,1,1:GOSUB 3800:FOR TE=1 TO 200:NEXT TE
3580 IF VJ(J)<0 THEN CURSORY 23:CURSORX 24:TX1:PRINT "JOUEUR ";J;" MORT":RETURN
3590 VM=VM-INT(RND(J)*10)
3600 SOUND 255,1,255:GOSUB 3800:FOR TE=1 TO 200:NEXT TE
3610 IF VM<0 THEN CURSORY 23:CURSORX 24:TX1:PRINT "MONSTRE MORT ":IF (TR=1 ANDRND(J)<0.5) THEN GOSUB 3200
3620 IF VM<0 THEN RETURN
3630 GOTO 3560
3640 REM < APPARTENANCE MONSTRE >
3650 SETET 120,"FF808080808080808080":SETET 119,"FF000000000000000000":SETET 34,"FF010101010101010101"
3660 SETET 118,"808080808080808080FF":SETET 117,"000000000000000000FF":SETET 116,"010101010101010101FF"
3670 CURSORY 17:CURSORX 23:TX6:PRINT CHR$(123);:TX3:PRINT"JOUEUR ";:TX6:PRINT CHR$(123);
3680 TX3:PRINT "MONSTRE";:TX6:PRINT CHR$(125):CURSORY 18:CURSORX 23:ET6:PRINT "xwwwwwwwxwwwwwww";CHR$(34)
3690 FOR AZ=19 TO 21
3700 TX6:CURSORY AZ:CURSORX 23:PRINT CHR$(123);:CURSORX 31:PRINT CHR$(123);:CURSORX 39:PRINT CHR$(125)
3710 NEXT AZ
3720 CURSORY 21:CURSORX 23:ET6:PRINT "vuuuuuuuvuuuuuuut":GOTO 3800
3730 CURSORY 17:CURSORX 31:TX6:PRINT CHR$(123);:TX3:PRINT "JOUEUR ";:TX6:PRINT CHR$(125)
3740 CURSORY 18:CURSORX 31:ET6:PRINT "xwwwwwww";CHR$(34)
3750 FOR AZ=19 TO 21
3760 TX6:CURSORY AZ:CURSORX 31:PRINT CHR$(123);:CURSORX 39:PRINT CHR$(125)
3770 NEXT AZ
3780 CURSORY 21:CURSORX 31:ET6:PRINT "vuuuuuuut"
3790 REM < COEUR ... >
3800 CURSORX 24:ET1:CURSORY 19:PRINT "z";:ET2:PRINT "y";:TX3:PRINT VJ(J);" "
3810 CURSORX 32:ET1:CURSORY 19:PRINT "z";:ET2:PRINT "y";:TX3:PRINT VM;" "
3820 CURSORX 32:ET3:CURSORY 20:PRINT "s";:ET2:PRINT "y";
3830 IF AC=0 THEN CURSORX 35:TX7:PRINT"NON":RETURN
3840 CURSORX 35:TX7:PRINT "OUI"
3850 RETURN
3860 REM < APPARTENANCE JOUEUR >
3870 SETET 122,"006CFEFEFE7C38100000":SETET 121,"000004027f0204000000":SETET 115,"003C7EE3EFE7EF6E3C00"
3880 SETET 113,"003C18183C7E7E7E3C00"
3890 CURSORY 17:CURSORX 1:TX3:PRINT "JOUEUR : ";J:CURSORY 19:CURSORX 2:ET1:PRINT "z";:TX3:PRINT " ";VJ(J);" "
3900 CURSORY 20:CURSORX 2:ET3:PRINT "s";:TX3:PRINT " ";OJ(J):CURSORY 21:CURSORX 2:ET6:PRINT "q";:TX3:PRINT " ";FJ(J)
3910 RETURN
3920 REM * GARDIEN *
3930 SETEG 65,"3018888C8CCC783C0E0F":SETEG 66,"00000007000000000000":SETEG 67,"0000000080C060202020"
3940 SETEG 68,"00000000010306040404":SETEG 69,"000000E0800000000000":SETEG 70,"0C18113131331E3C70F0"
3950 SETEG 71,"07070301010000000000":SETEG 72,"0080C0E0F0F87C7E3E1F":SETEG 73,"303010181C0C0F070707"
3960 SETEG 74,"000000007EFFFFFFFFFF":SETEG 75,"0C0C08183830F0E0E0E0":SETEG 76,"000103070F1F3E7E7CF8"
3970 SETEG 77,"E0E0C080800000000000":SETEG 78,"1F0F0707030301000000":SETEG 79,"85CEEFFFFFFFFFFFFFFF"
3980 SETEG 80,"FF187EFFFFFFFFFFFFFF":SETEG 81,"A173F7FFFFFFFFFFFFFF":SETEG 82,"F8F0E0E0C0C080000000"
3990 SETEG 83,"7F7F7F7F7F3F3F3F3F1F":SETEG 84,"FEFEFEFEFEFCFCFCFCF8":SETEG 85,"1F0F0F07070703030307"
4000 SETEG 86,"F8F0F0E0E0E0C0C0C0E0":SETEG 87,"00000000000000000001":SETEG 88,"070F1F1F3F3E7CF8F0E0"
4010 SETEG 89,"FFFFC381000000000000":SETEG 90,"E0F0F8F8FC7C3E1F0F07":SETEG 91,"00000000000000000080"
4020 SETEG 92,"03030706000000010101":SETEG 93,"C0E0E0E0C0C0C0C08080":SETEG 94,"03070707030303030101"
4030 SETEG 95,"C0C0E060000000808080":SETEG 96,"030303031F35250D0800":SETEG 97,"80000000E02000808000"
4040 SETEG 98,"01000000070400010100":SETEG 99,"C0C0C0C0F8ACA4B01000":SETEG 100,"00000000000000000000":INIT 7,7
4050 EG0,7,0:CURSORY 6:CURSORX 16:PRINT "ABCdDEF":CURSORX 16:PRINT "GHIJKLM":CURSORX 17:PRINT "NOPQR":CURSORX 18:PRINT "SƒT"
4060 CURSORX 18:PRINT "UƒV":CURSORX 17:PRINT "WXYZ[":CURSORX 17:PRINT CHR$(92);"]d^_":CURSORX 17:PRINT CHR$(96);"adbc"
4070 VM=80:AC=0:FM=11:FU=1:TR=0
4080 FOR ZZ=17 TO 23:CURSORY ZZ:CURSORX 0:TX0:PRINT " ":NEXT ZZ
4090 GOSUB 3650:GOSUB 3860:GOSUB 3450
4100 IF CH$="FU"THEN VJ(J)=INT(RND(J)*200+15):XJ(J)=INT(RND(J)*20+1):YJ(J)=INT(RND(J)*20+1):RETURN
4110 IF VJ(J)<0 THEN TX1:CURSORY 23:PRINT "VOUS ETES RENVOYEZ DANS LE LABYRINTHE":XJ(J)=INT(RND(J)*20+1)
4120 IF VJ(J)<0 THEN YJ(J)=INT(RND(J)*20+1):VJ(J)=INT(RND(J)*200+15):RETURN
4130 REM       *************
4140 REM       * PRINCESSE *
4150 REM       *************
4160 INIT 7,7:TX1:CURSORY 1:PRINT "JOUEUR ";J;" TROUVE"
4170 SETET 65,"000000000103060C0810":SETET 66,"000F1F78E08001091215":SETET 67,"00FFFF0012A42C5DBBFF"
4180 SETET 68,"00F0FE010040C8D09878":SETET 69,"000000030C10300C0300":SETET 70,"2F5FE890101010100884"
4190 SETET 71,"FFFF0502E2E2E2020408":SETET 72,"F2E5FF7E1F0F06020408":SETET 73,"631C0300000000000000"
4200 SETET 74,"F001FE00000000000000":SETET 75,"70800000000000000000":SETET 76,"000F7F800002130B191E"
4210 SETET 77,"00FFFF00482534BADDFF":SETET 78,"00F0F81E0701809048A8":SETET 79,"0000000080C060301008"
4220 SETET 80,"4FA7FF7EF8F060402010":SETET 81,"FFFFA040474747402010":SETET 82,"F4FA1709080808081021"
4230 SETET 83,"000000C030080C30C000":SETET 84,"0E010000000000000000":SETET 85,"07807F00000000000000"
4240 SETET 86,"C638C000000000000000":CURSORY 11:CURSORX 21:ET0:PRINT "ABCD":CURSORX 21:PRINT "EFGH":CURSORX 22:PRINT "IJK"
4250 CURSORY 11:CURSORX 13:ET0:PRINT "LMNO":CURSORX 13:PRINT "PQRS":CURSORX 13:PRINT "TUV":GOTO 4250
4260 REM < BOUSOLE >
4270 ON DA(J)+1 GOTO 4280, 4310, 4340, 4370
4280 IF R(J)=1 THEN DA(J)=1
4290 IF R(J)=3 THEN DA(J)=3
4300 GOTO 4390
4310 IF R(J)=1 THEN DA(J)=2
4320 IF R(J)=3 THEN DA(J)=0
4330 GOTO 4390
4340 IF R(J)=1 THEN DA(J)=3
4350 IF R(J)=3 THEN DA(J)=1
4360 GOTO 4390
4370 IF R(J)=1 THEN DA(J)=0
4380 IF R(J)=3 THEN DA(J)=2
4390 IF DA(J)=0 THEN TX1:CURSORY 1:CURSORX 19:PRINT "N":CURSORY 3:CURSORX 19:PRINT "S":CURSORY 2:CURSORX 18:PRINT "O E"
4400 IF(R(J)<>-1 AND DA(J)=0)THEN YJ(J)=YJ(J)+1
4410 IF DA(J)=1 THEN TX1:CURSORY 1:CURSORX 19:PRINT "E":CURSORY 3:CURSORX 19:PRINT "O":CURSORY 2:CURSORX 18:PRINT "N S"
4420 IF(R(J)<>-1 AND DA(J)=1)THEN XJ(J)=XJ(J)+1
4430 IF DA(J)=2 THEN TX1:CURSORY 1:CURSORX 19:PRINT "S":CURSORY 3:CURSORX 19:PRINT "N":CURSORY 2:CURSORX 18:PRINT "E O"
4440 IF(R(J)<>-1 AND DA(J)=2)THEN YJ(J)=YJ(J)-1
4450 IF DA(J)=3 THEN TX1:CURSORY 1:CURSORX 19:PRINT "O":CURSORY 3:CURSORX 19:PRINT "E":CURSORY 2:CURSORX 18:PRINT "S N"
4460 IF(R(J)<>-1 AND DA(J)=3)THEN XJ(J)=XJ(J)-1
4470 CURSORY 2:CURSORX 19:ET5:PRINT "!"
4480 REM < RENSEIGNEMENT >:Y=23:X=2
4490 IF RND(J)<0.5 THEN RETURN
4500 CURSORY 23:CURSORX 1:TX7:PRINT "NOTA :";
4510 IF SGN(YP-YJ(J))>0 THEN PRINT "nord ";
4520 IF SGN(YP-YJ(J))<0 THEN PRINT "sud ";
4530 IF SGN(XP-XJ(J))<0 THEN PRINT " ouest"
4540 IF SGN(XP-XJ(J))>0 THEN PRINT " est"
4550 RETURN
13920 REM * PRESENTATION *"
13930 SETEG 65,"3018888C8CCC783C0E0F":SETEG 66,"00000007000000000000":SETEG 67,"0000000080C060202020"
13940 SETEG 68,"00000000010306040404":SETEG 69,"000000E0800000000000":SETEG 70,"0C18113131331E3C70F0"
13950 SETEG 71,"07070301010000000000":SETEG 72,"0080C0E0F0F87C7E3E1F":SETEG 73,"303010181C0C0F070707"
13960 SETEG 74,"000000007EFFFFFFFFFF":SETEG 75,"0C0C08183830F0E0E0E0":SETEG 76,"000103070F1F3E7E7CF8"
13970 SETEG 77,"E0E0C080800000000000":SETEG 78,"1F0F0707030301000000":SETEG 79,"85CEEFFFFFFFFFFFFFFF"
13980 SETEG 80,"FF187EFFFFFFFFFFFFFF":SETEG 81,"A173F7FFFFFFFFFFFFFF":SETEG 82,"F8F0E0E0C0C080000000"
13990 SETEG 83,"7F7F7F7F7F3F3F3F3F1F":SETEG 84,"FEFEFEFEFEFCFCFCFCF8":SETEG 85,"1F0F0F07070703030307"
14000 SETEG 86,"F8F0F0E0E0E0C0C0C0E0":SETEG 87,"00000000000000000001":SETEG 88,"070F1F1F3F3E7CF8F0E0"
14010 SETEG 89,"FFFFC381000000000000":SETEG 90,"E0F0F8F8FC7C3E1F0F07":SETEG 91,"00000000000000000080"
14020 SETEG 92,"03030706000000010101":SETEG 93,"C0E0E0E0C0C0C0C08080":SETEG 94,"03070707030303030101"
14030 SETEG 95,"C0C0E060000000808080":SETEG 96,"030303031F35250D0800":SETEG 97,"80000000E02000808000"
14040 SETEG 98,"01000000070400010100":SETEG 99,"C0C0C0C0F8ACA4B01000":SETEG 100,"00000000000000000000":INIT 0,0
14050 EG7,0,0:CURSORY 6:CURSORX 16:PRINT "ABCdDEF":CURSORX 16:PRINT "GHIJKLM":CURSORX 17:PRINT "NOPQR":CURSORX 18:PRINT "SƒT"
14060 CURSORX 18:PRINT "UƒV":CURSORX 17:PRINT "WXYZ[":CURSORX 17:PRINT CHR$(92);"]d^_":CURSORX 17:PRINT CHR$(96);"adbc"
14070 WW$="LLEE  LLAABBYYRRIINNTTHHEE "
14071 WD$=" Et La Princesse "
15000 TX7,3:CURSORX  6:CURSORY 1:PRINTWW$
15001 TX7,3:CURSORX  6:CURSORY 2:PRINTWW$
15002 TX7,1:CURSORX 11:CURSORY 3:PRINTWD$
15003 TX7,1:CURSORX 11:CURSORY 4:PRINTWD$
16000 TX6: CURSORX 19:CURSORY 22:PRINT "(C) 85 EDISOFT"
18000 FOR I=1 TO 100 :SOUND 255-I ,1,2:NEXT I
20000 RETURN
Xavier_AL

Re: Listing, k7, petits programmes pour VG5000....

Message par Xavier_AL »

Salut,

Le livre "102 programmes pour VG5000" a-t-il été scanné?
C'est pour faire l'inventaire des programmes....
8)
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Listing, k7, petits programmes pour VG5000....

Message par Markerror »

Aucune idée, mais de toute façon que, comme pour "VG5000 56 programmes", il n'y a rien d'intéressant dans ces bouquins. Les listings sont trop courts, trop génériques et n'exploitent en rien les capacités merveilleuses de la machine :mrgreen: .

J'ai pas encore terminé le debug des listings, il ne me reste que fantôme... Diffusion probable de l'archive au cours de la semaine.
Dernière modification par Markerror le 18 sept. 2018 08:03, modifié 1 fois.
Répondre