10 '----------------------------
20 '         PRONOFOOT
30 '----------------------------
40 '     par Bouquet Didier
50 '        (30/09/1985)
60 '----------------------------
70 MODE 1
80 CLS:GOSUB 2500
90 CLS:MODE 1
100 DIM n(16):DIM loc$(16):DIM cl(16):DIM vis$(16):DIM cv(16):DIM prono$(16):DIM d(16):DIM p1(16):DIM p2(16):DIM p3(16):DIM rep$(16):DIM r$(16)
110 INK 3,13
120 BORDER 1
130 CLS:m$="M E N U  1":GOSUB 480
140 LOCATE 8,10:PRINT "-A-  EXPLICATIONS"
150 LOCATE 8,15:PRINT "-B-  ENTREE DES DONNEES"
160 LOCATE 8,20 :PRINT "PASSEZ EN MAJUSCULES !!"
170 LOCATE 9,22:PRINT "APPUYEZ SUR LA LETTRE"
180 LOCATE 10,24:PRINT "DE L'OPTION CHOISIE"
190 R$=INKEY$
191 IF R$="A" THEN 2190
192 IF R$="B" THEN 220
210 GOTO 190
220 CLS:m$="M E N U  2":GOSUB 480
230 LOCATE 6,10:PRINT "-A-  ENTREE MANUELLE"
240 LOCATE 6,13:PRINT "-B-  LECTURE PRONOSTICS SUR K7"
250 LOCATE 6,16:PRINT "-C-  RETOUR AU MENU PRECEDENT"
260 LOCATE 6,19:PRINT "-D-  PASSAGE AU MENU 3"
270 r$=INKEY$
271 IF r$="A" THEN GOSUB 3200:GOTO 1680
272 IF r$="B" THEN GOSUB 3200:GOTO 1490
273 IF r$="D" THEN GOSUB 3200:GOTO 340
274 IF r$="C" THEN GOSUB 3200:GOTO 130
310 GOTO 270
320 CLS:MODE 1:LOCATE 3,12:PRINT "ENTREE DES DONNEES BIEN EFFECTUEE"
330 FOR T=1 TO 5000:NEXT
340 CLS:m$="M E N U  3":GOSUB 480
350 LOCATE 6,10:PRINT "-A-  PRONOSTIC SUR UN MATCH"
360 LOCATE 6,12:PRINT "-B-  LISTE DE TOUS LES PRONOSTICS"
370 LOCATE 6,14:PRINT "-C-  SAUVEGARDE PRONOSTICS SUR K7"
380 LOCATE 6,16:PRINT "-D-  SORTIE SUR IMPRIMANTE"
390 LOCATE 6,18:PRINT "-E-  RETOUR AU MENU PRECEDENT"
400 LOCATE 6,20:PRINT "-F-  FIN DU PROGRAMME"
410 r$=INKEY$
411 IF R$="A" THEN GOSUB 3200:GOTO 1210
420 IF R$="B" THEN GOSUB 3200:GOTO 1060
430 IF R$="C" THEN GOSUB 3200:GOTO 800
440 IF R$="D" THEN GOSUB 3200:GOTO 590
450 IF R$="E" THEN 220
460 IF R$="F" THEN 2890
470 GOTO 410
480 '
490 '--------------------------
500 '    AFFICHAGE "M E N U"
510 '--------------------------
520 '
530 PEN 1:MODE 1
540 LOCATE 15,3:PRINT"----------"
550 FOR j=1 TO 26:LOCATE 41-j,2:PRINT LEFT$(m$,j);:PRINT " "
560 NEXT j
570 RESTORE 3170:GOSUB 3120
580 RETURN
590 '
600 '--------------------------
610 '   SORTIE SUR IMPRIMANTE
620 '--------------------------
630 '
640 CLS:PEN 3
650 MODE 1:LOCATE 1,10:PRINT "Votre imprimante est-elle prete ?":PRINT:PRINT" Si oui tapez un espace.":PRINT:PRINT"(En cas d'erreur d'option,tapez X)"
660 R$=INKEY$
661 IF R$=" " THEN 690
670 IF R$="X" THEN 340
680 GOTO 660
690 CLS:LOCATE 10,12:PRINT"IMPRESSION EN COURS"
700 WIDTH 75
710 PRINT #8,"                              P R O N O S T I C S "
720 PRINT #8,"                              -------------------"
730 PRINT #8:PRINT #8
740 FOR n=1 TO 9:PRINT #8, "Match No ";n;:PRINT #8,"       "; loc$(n);" contre ";vis$(n);:y=POS(#8):a=60-y:FOR l=1 TO a:PRINT #8, ".";:NEXT l:PRINT #8, prono$(n)
750 NEXT n
760 FOR n=10 TO 16:PRINT #8, "Match No ";n;:PRINT #8,"      "; loc$(n);" contre ";vis$(n);:y=POS(#8):a=60-y:FOR l=1 TO a:PRINT #8, ".";:NEXT l:PRINT #8, prono$(n)
770 NEXT n
780 PRINT #8:PRINT #8:PRINT #8
790 GOTO 340
800 '
810 '--------------------------
820 '    SAUVEGARDE SUR K7
830 '--------------------------
840 '
850 MODE 1:PEN 3
860 LOCATE 1,12:PRINT"Quelle est la date d'enregistrement de":PRINT"ces pronostics (JJ/MM/AA) ":INPUT "(En cas d'erreur sur le choix de        l'option, tapez X) ";date$
870 IF date$="X" THEN 340
880 CLS:LOCATE 1,12:PRINT "A quelle vitesse desirez-vous           enregistrer (R=rapide,N=normale) "
890 R$=INKEY$
891 IF R$="R" THEN SPEED WRITE 1:GOTO 920
900 IF R$="N" THEN SPEED WRITE 0:GOTO 920
910 GOTO 890
920 CLS:OPENOUT "!date$"
930 PRINT "La cassette est-elle prete ?"
940 PRINT:PRINT:PRINT"Appuyez sur les touches REC et PLAY du  datacorder "
950 PRINT:PRINT:PRINT"Tapez un espace pour commencer."
960 R$=INKEY$: IF R$=" " THEN 970
965 GOTO 960
970 CLS:LOCATE 8,12:PRINT "ENREGISTREMENT EN COURS"
980 FOR n=1 TO 16
990 PRINT#9,loc$(n):PRINT#9,vis$(n):PRINT#9,prono$(n):PRINT#9,p1(n):PRINT#9,p2(n):PRINT#9,p3(n)
1000 NEXT n
1010 CLOSEOUT
1020 CLS:LOCATE 1,12:PRINT "Fin de l'enregistrement, appuyez sur    STOP "
1030 FOR t=1 TO 5000:NEXT t
1040 CLS
1050 GOTO 340
1060 '
1070 '--------------------------
1080 '   LISTE DES PRONOSTICS
1090 '--------------------------
1100 '
1110 MODE 2:INK 1,13:PEN 1
1120 PRINT TAB(30) "P R O N O S T I C S "
1130 PRINT TAB(30) "-------------------"
1140 PRINT:PRINT
1150 FOR n=1 TO 16:PRINT "Match No ";n;:PRINT TAB(15) loc$(n);" contre ";vis$(n);:y=POS(#0):a=60-y:FOR l=1 TO a:PRINT ".";:NEXT l:PRINT prono$(n)
1160 NEXT n
1170 LOCATE 1,22:PRINT"Pour retourner au MENU 3, tapez un espace."
1180 R$=INKEY$:IF R$=" " THEN 1190
1185 GOTO 1180
1190 CLS:INK 1,24:GOTO 340
1200 LOCATE 10,24:PRINT "DE L'OPTION CHOISIE"
1210 '
1220 '--------------------------
1230 ' PRONOSTICS SUR UN MATCH
1240 '--------------------------
1250 '
1260 MODE 1:PEN 3:CLS
1270 LOCATE 1,12:INPUT "Quel match (tapez le numero) ";n
1280 IF n<1 OR n>16 GOTO 1270
1290 CLS:LOCATE 15,12:PRINT "Voici..."
1300 FOR t=1 TO 1500:NEXT t
1310 MODE 2:PEN 3:GOSUB 3200
1320 PRINT "Match No ";n;"     ";loc$(n);:PRINT TAB(30) "contre";:PRINT TAB(40) vis$(n)
1330 IF n<10 THEN PRINT "-----------" ELSE PRINT "------------"
1340 PRINT:PRINT:PRINT
1350 PRINT loc$(n);:PRINT " a ";p1(n);" % de chances de battre ";vis$(n);" a domicile."
1360 PRINT:PRINT
1370 PRINT loc$(n);:PRINT " a ";p2(n);" % de chances de faire nul a domicile avec ";vis$(n)
1380 PRINT:PRINT
1390 PRINT vis$(n);:PRINT " a ";p3(n);" % de chances de l'emporter a l'exterieur contre ";loc$(n)
1400 PRINT:PRINT:PRINT:PRINT
1410 PRINT " P R O N O S T I C  :  ";prono$(n)
1420 PRINT " ----------------- "
1430 PRINT:PRINT
1440 PRINT "Pour un autre match, appuyez sur ESPACE"
1450 PRINT "Pour retourner au MENU 3,appuyez sur DEL"
1460 R$=INKEY$
1461 IF INKEY(79)=0 THEN 340
1470 IF R$=" " THEN 1260
1480 GOTO 1460
1490 '
1500 '--------------------------
1510 '     LECTURE  FICHIER
1520 '--------------------------
1530 '
1540 CLS:MODE 1:PEN 3
1550 LOCATE 1,12:INPUT "Donnez la date des pronostics que vous  desirez recuperer ( JJ/MM/AA )          (En cas d'erreur dans le choix de       l'option,tapez X) ";date$
1560 IF date$="X" THEN 220
1570 LOCATE 1,6:PRINT "Preparez la cassette,appuyez sur PLAY,  puis la barre d'espace "
1580 R$=INKEY$:IF R$=" " THEN 1590
1585 GOTO 1580
1590 CLS:LOCATE 12,12:PRINT "LECTURE EN COURS"
1600 OPENIN "!date$"
1610 FOR n=1 TO 16
1620 INPUT#9, loc$(n):INPUT#9,vis$(n):INPUT#9,prono$(n):INPUT#9,p1(n):INPUT#9,p2(n):INPUT#9,p3(n):IF EOF=1 THEN 1640
1630 NEXT n
1640 CLOSEIN
1650 CLS:LOCATE 1,12:PRINT "Les donnees sont en memoire, appuyez sur la touche STOP du lecteur de cassette"
1660 FOR t=1 TO 5000:NEXT t
1670 GOTO 320
1680 '
1690 '---------------------------
1700 '      ENTREE MANUELLE
1710 '---------------------------
1720 '
1730 CLS:PEN 3:LOCATE 1,3:PRINT "Pour proceder a l'entree manuelle des   donnes,tapez un ESPACE ":LOCATE 1,10:PRINT "Pour retourner au MENU 2, tapez DEL "
1740 R$=INKEY$
1745 IF R$=" " THEN 1770
1750 IF INKEY(79)=0 THEN 220
1760 GOTO 1740
1770 CLS:MODE 2
1780 FOR n=1 TO 16
1790 PRINT "MATCH No";n
1800 LOCATE 1,4:INPUT "Quelle est l'equipe qui recoit ";loc$(n)
1810 IF loc$(n)="Z" THEN 320:IF loc$(n)="" THEN 1800
1820 LOCATE 1,7:INPUT "Quel est son classement actuel ";cl(n)
1830 LOCATE 1,10:INPUT "Quelle est l'equipe visiteuse ";vis$(n)
1840 IF vis$(n)="" THEN 1830
1850 LOCATE 1,13: INPUT "Quel est son classement actuel ";cv(n)
1860 LOCATE 1,16:PRINT "Connaissez-vous le resultat du meme match l'an dernier ( O / N )":INPUT "(si le match n'a pas eu lieu repondre N) ";r$(n)
1870 IF r$(n)="O" THEN 1890
1880 IF r$(n)="N" THEN 1920 ELSE 1860
1890 PRINT:PRINT
1900 LOCATE 1,20:INPUT "L'equipe qui recoit, avait-elle gagne,fait match nul ou perdu (G / N / P) ";rep$(n)
1910 IF rep$(n)="G" OR rep$(n)="N" OR rep$(n)="P" THEN 1920 ELSE 1900
1920 GOSUB 2000
1930 CLS
1940 GOSUB 2100
1950 NEXT N
1960 CLS:GOTO 320
1970 '---------------
1980 '    CHANCES
1990 '---------------
2000 d(n)=cv(n)-cl(n)
2010 p1(n)=INT(1.8553*d(n)+45)
2020 p2(n)=INT(-0.0104*(d(n)^2)+27)
2030 p3(n)=100-(p1(n)+p2(n))
2040 IF r$(n)="N" THEN 2080
2050 IF rep$(n)="G" THEN p1(n)=p1(n)+10:p3(n)=p3(n)-10
2060 IF rep$(n)="N" THEN p2(n)=p2(n)+5:p3(n)=p3(n)-3:p1(n)=p1(n)-2
2070 IF rep$(n)="P" THEN p3(n)=p3(n)+5:p1(n)=p1(n)-5
2080 IF p3(n)<0 THEN p3(n)=0
2090 RETURN
2100 '---------------
2110 '   PRONOSTIC
2120 '---------------
2130 b$="Match nul"
2140 IF p1(n)>p3(n)+5 THEN prono$(n)=loc$(n)
2150 IF ABS(p1(n)-p3(n))<=5 THEN prono$(n)=b$
2160 IF p3(n)>p1(n)+5 AND (p1(n)+INT(p2(n)/2))<p3(n) THEN prono$(n)=vis$(n)
2170 IF p3(n)>p1(n)+5 AND (p1(n)+INT(p2(n)/2))>p3(n) THEN prono$(n)=b$
2180 RETURN
2190 '
2200 '--------------------------
2210 '       EXPLICATIONS
2220 '--------------------------
2230 '
2240 MODE 0:BORDER 26:PAPER 4:PEN 7:CLS
2250 LOCATE 7,8:PRINT "AMATEURS"
2260 LOCATE 3,14:PRINT"DE  LOTO SPORTIF"
2270 LOCATE 5,20:PRINT"A VOS GRILLES"
2280 FOR T=1 TO 1500:NEXT T
2290 CLS
2300 MODE 1:LOCATE 2,2:PRINT "Car en effet PRONOFOOT peut vous aider":LOCATE 5,6:PRINT"a reussir vos pronostics sur les ":LOCATE 4,10:PRINT"matches de football proposes par la "
2310 LOCATE 5,14:PRINT"nouvelle formule du loto sportif.":LOCATE 11,18:PEN 1:PRINT "COMMENT PROCEDER ?"
2320 FOR t=1 TO 2500:NEXT t:CLS
2330 BORDER 1:MODE 2
2340 LOCATE 1,2:PRINT "===>  Le MENU 1 vous propose d'abord d'entrer les donnees ( Appuyez sur B )"
2350 PRINT:PRINT:PRINT:PRINT"===>  Deux choix d'entree sont possibles dans le MENU 2
2360 PRINT:PRINT"     -- ENTREE MANUELLE: instructions incluses (N.B. pour le classement,        n'inscrire que le nombre. Exemple : 18 pour 18eme).
2370 PRINT:PRINT"     -- LECTURE PRONOSTICS SUR K7: instructions incluses (N.B. pour la date,    bien respecter le modele JJ/MM/AA .Exemple : 29/09/85)."
2380 PRINT"Pour facilement retrouver les donnees, il est bien entendu necessaire d'avoir   correctenent noter la date d'enregistrement a la sauvegarde.":PRINT
2390 PRINT:PRINT:PRINT"===>  Enfin dans le MENU 3, les options sont clairement enoncees, notez quand "
2400 PRINT"meme que 'PRONOSTIC SUR UN MATCH' donne en plus les 'chances' de victoire de    chaque equipe et que pour SAUVEGARDE SUR K7, voyez les renseignements plus haut."
2410 GOSUB 3330
2420 CLS:LOCATE 28,1:PRINT"-----------------------"
2430 LOCATE 28,2:PRINT"I DERNIERES REMARQUES I"
2440 LOCATE 28,3:PRINT"-----------------------"
2450 LOCATE 7,10:PRINT"PRONOFOOT vous donne bien sur les resultats dits 'normaux'."
2460 LOCATE 7,15:PRINT"Un conseil encore: il est necessaire d'avoir le classement le plus precis       possible et bien sur le fait de connaitre le resultat du meme match l'annee":PRINT"precedente 'affine' le pronostic."
2480 FOR t=1 TO 3500:NEXT t
2490 GOTO 110
2500 '
2510 '--------------------------
2520 '       PRESENTATION
2530 '--------------------------
2540 '
2550 MODE 0:BORDER 1:PAPER 0:PEN 1
2560 CLS:LOCATE 3,8:PRINT "BOUQUET   DIDIER":LOCATE 7,16:PRINT "presente"
2570 FOR T=1 TO 1500:NEXT:CLS
2580 SYMBOL 240,&E0,&F8,&FC,&FC,&FE,&FE,&FF,&FF
2590 SYMBOL 241,&7,&1F,&3F,&3F,&7F,&7F,&FF,&FF
2600 SYMBOL 242,&FF,&FF,&FE,&FE,&FC,&FC,&F8,&E0
2610 SYMBOL 243,&FF,&FF,&7F,&7F,&3F,&3F,&1F,&7
2620 INK 8,1:INK 9,1:INK 10,1:INK 11,1:INK 12,1:INK 13,1:INK 14,1
2630 FOR n=1 TO 9
2640 READ ch(n),l(n)
2650 NEXT n
2660 FOR q=1 TO 9
2670 FOR p=1 TO l(q)
2680 READ x,y,i:LOCATE x,y:PEN i:PRINT CHR$(ch(q))
2690 NEXT p
2700 NEXT q
2710 DATA 143,10,240,8,241,5,133,42,138,33,243,4,242,6,209,6,211,6
2720 DATA 4,4,8,7,4,9,4,7,8,7,7,9,7,8,9,4,16,11,5,16,11,16,16,12,17,16,12,4,19,11
2730 DATA 5,4,8,8,4,9,11,4,13,14,4,10,17,4,13,8,8,9,9,16,13,13,16,13
2740 DATA 10,4,13,13,4,10,16,4,13,8,16,13,12,16,13
2750 DATA 4,5,8,7,5,9,10,5,13,13,5,10,16,5,13,4,6,8,7,6,9,10,6,13,13,6,10,16,6,13,10,7,13,13,7,10,16,7,13,4,8,8,10,8,13,13,8,10,16,8,13,4,9,8,7,9,9,10,9,13,13,9,10,16,9,13,4,10,8,7,10,9,13,10,10,11,13,14,4,17,11,8,17,13,12,17,13,4,18,11,8,18,13,12,18,13
2760 DATA 5,19,11,8,19,13,12,19,13,4,20,11,8,20,13,12,20,13,4,21,11,8,21,13,12,21,13,4,22,11
2770 DATA 5,5,8,8,5,9,11,5,13,14,5,10,17,5,13,5,6,8,8,6,9,11,6,13,14,6,10,17,6,13,11,7,13,14,7,10,17,7,13,11,8,13,14,8,10,17,8,13,8,9,9,11,9,13,14,9,10,17,9,13,8,10,9,14,10,10,10,13,14,9,17,13,13,17,13,9,18,13,13,18,13,9,19,13,13,19,13,9,20,13,13,20,13
2780 DATA 9,21,13,13,21,13
2790 DATA 10,10,13,16,10,13,8,22,13,12,22,13
2800 DATA 5,7,8,8,7,9,11,10,13,17,10,13,9,22,13,13,22,13
2810 DATA 16,17,12,16,18,12,16,19,12,16,20,12,16,21,12,16,22,12
2820 DATA 17,17,12,17,18,12,17,19,12,17,20,12,17,21,12,17,22,12
2830 SPEED INK 20,100:BORDER 7
2840 INK 8,1,10:INK 9,1,17:INK 10,1,14:INK 11,1,16:INK 12,1,8:INK 13,1,22:INK 14,1,6
2850 INK 8,1,24
2860 GOSUB 3000
2870 FOR t=1 TO 1000:NEXT t
2880 RETURN
2890 '
2900 '--------------------------
2910 '          FIN
2920 '--------------------------
2930 '
2940 MODE 0:BORDER 15:PAPER 1:PEN 0:CLS
2950 LOCATE 5,9:PRINT"BONNE CHANCE"
2960 LOCATE 10,13:PRINT"A":LOCATE 7,17:PRINT"BIENTOT"
2970 GOSUB 3240:FOR T=1 TO 4300 :NEXT T
2980 MODE 1:BORDER 1:PAPER 0:PEN 1:CLS
2990 END
3000 '
3010 '--------------------------
3020 '         MUSIQUE
3030 '--------------------------
3040 FOR n=1 TO 85
3050 READ note%,temps%
3060 SOUND 1,note%,temps%
3070 NEXT n
3080 DATA 213,20,201,20,190,20,119,40,190,20,119,40,190,20,119,70,0,20,119,20,106,20,100,20,95,20,119,20,106,20,95,40,127,20,106,40,119,70,0,20,213,20,201,20,190,20,119,40,190,20,119,40,190,20,119,70,0,20
3090 DATA 142,20,159,20,169,20,142,20,119,20,95,40,106,20,119,20,142,20,106,70,0,20,213,20,201,20,190,20,119,40,190,20,119,40,190,20,119,70,0,20,119,20,106,20,100,20,95,20,119,20,106,20,95,40,127,20,106,40,119,70,0,20
3100 DATA 119,20,106,20,95,20,119,20,106,20,95,40,119,20,106,20,119,20,95,20,119,20,106,20,95,40,119,20,106,20,119,20,95,20,119,20,106,20,95,40,127,20,106,40,119,60,119,20,0,20
3110 RETURN
3120 '-----
3130 FOR j=1 TO 15
3140 READ note%,t
3150 SOUND 2,note%,t
3160 NEXT
3170 DATA 239,20,213,20,190,20,179,20,159,20,0,5,159,20,0,5,159,40,0,5,239,20,213,20,190,20,179,20,159,40
3180 RETURN
3190 '-----
3200 FOR j%=163 TO 188 STEP 4
3210 SOUND 2,j%,5,5
3220 NEXT j%
3230 RETURN
3240 '-----
3250 RESTORE 3300
3260 FOR n=1 TO 7
3270 READ note%,temps%
3280 SOUND 2,note%,temps%
3290 NEXT n
3300 DATA 119,120,127,40,119,20,95,120,106,60,119,200,0,40
3310 RETURN
3320 '-----
3330 RESTORE 3380
3340 FOR n=1 TO 100
3350 READ note%,temps%
3360 SOUND 2,note%,temps%,3
3370 NEXT
3380 DATA 319,30,0,15,319,45,268,35,239,30,319,30,0,15,319,45,358,30,338,30,319,30,0,15,319,45,268,30,239,30,319,30,0,15,319,45,358,30,338,30,268,15,319,15,426,135,268,15,319,15,451,135,268,15,319,15,478,135,268,15,239,15,0,30
3390 DATA 358,30,338,30,319,30,0,15,319,45,268,30,239,30,319,30,0,15,319,45,358,30,338,30,319,30,0,15,319,45,268,30,239,30,268,15,319,15,169,135,268,15
3400 DATA 319,15,179,135,268,15,319,15,190,135,201,15,213,15,0,15,319,45,268,30,239,30,201,15,239,15,319,135,201,15,239,15,338,135,201,15,239,15
3410 DATA 358,135,402,15,358,15,0,30,402,30,358,30,268,15,319,15,169,135,253,15,319,15,179,135,268,15,319,15,190,135,201,15,213,15,0,15,319,45,268,30,239,30,319,30,0,15,319,45,0,15,179,15,159,135,0,15
3420 RETURN