9 REM  *************************
10 REM ****LE COMPTE EST BON****
20 REM *************************
25 CLS:im=0
30 REM DATA
40 CLS:MODE 1:DIM A(20)
50 DATA 1,2,3,4,5,6,7,8,9,10,25,50,75,100,25,50,75,100,25,50
60 FOR I=1 TO 20
70 READ A(I)
80 NEXT
90 REM TIRAGE DES 6 CHIFFRES
100 REM************************
105 votc=0:FOR i=1 TO 6:u$(i)="":op$(i)="":NEXT
110 RANDOMIZE TIME
120 FOR I=1 TO 6
130 B(I)=A(INT(RND*20)+1)
140 NEXT
150 REM VERIF VALEUR
160 REM****************
170 N=0
180 FOR I=1 TO 6
190 IF B(I)>10 THEN N=N+1
200 IF N>2 THEN GOSUB 230
210 NEXT
220 GOTO 250
230 B(I)=INT(RND*10)+1
240 RETURN
250 REM AFFICHAGE
260 REM*************
280 LOCATE 10,1:PRINT "** LE COMPTE EST BON **"
300 REM TIRAGE DES OPERATIONS
310 REM*************************
320 RANDOMIZE TIME
322 XH=0
325 S(1)=S(2)=S(3)=S(4)=S(5)=0
326 FOR I=1 TO 6
327 FOR J=1 TO 6
328 SI(I,J)=0
329 NEXT J,I
330 NOPS=INT(RND*4)
340 NOPS=NOPS+2:Xs=0
350 FOR Z=1 TO NOPS
351 s(z)=INT(RND*7):IF s(1)=2 THEN 350
352 NEXT
353 FOR i=1 TO nops
354 FOR j=i+1 TO 6
355 IF s(i)=s(j) THEN 350
356 NEXT j,i
357 FOR z=1 TO nops
370 ON S(Z) GOSUB 390,410,430,490,450,470
380 NEXT:GOTO 600
390 Xs=Xs+B(2)
400 RETURN
410 Xs=Xs-B(4)
420 RETURN
430 IF XS=0 THEN XS=1
431 Xs=Xs*B(6)
440 RETURN
450 Xs=Xs+B(1)
460 RETURN
470 Xs=Xs+B(3)
480 RETURN
490 IF XS=0 THEN XS=1
491 Xs=Xs*B(5)
500 RETURN
600 H=INT(RND*10)+1
610 IF H>6 THEN 620 ELSE 700
620 Xh=INT(RND*(XS/100)):xs=xs+xh
630 GOTO 700
700 IF Xs<100 OR Xs>999 THEN 300
800 REM AFFICHAGE
810 WINDOW #2,2,38,3,6
811 LOCATE 8,5:PRINT B(1);" ";B(2);" ";B(3);" ";B(4);" ";B(5);" ";B(6);
820 LOCATE 18,10:PRINT Xs
821 f=f+1:IF f=3 THEN f=1
822 ON f GOSUB 35000,35100
830 LOCATE 1,14:IF im=0 THEN PRINT"VOUS                               CPC"
840 LOCATE 36,16:PRINT USING"###";scom
850 LOCATE 1,16:PRINT USING"###";scov
900 REM TRACE DU CERCLE
910 REM ***************
920 IF im=0 THEN GOSUB 20000
930 REM TRACE AIGUILLE
935 Z=90
940 GOSUB 21000
945 z=90
950 t=TIME
951 IF (TIME-t)/300>46 THEN 960 ELSE 21100
960 WINDOW #1,1,40,22,25:PRINT #1,"LE TEMPS EST ECOULE ......"
965 GOSUB 30000
970 FOR TPS=1 TO 2000:NEXT
980 CLS #1:PRINT #1,"COMBIEN AVEZ VOUS TROUVE ?"
990 INPUT #1,VOT
1000 IF INT(f/2)=f/2 THEN jou$="moi" ELSE jou$="vous"
1010 IF vot=xS AND jou$="vous" THEN 1300
1020 IF ABS(vot-xS)<xS-(XS-Xh) THEN 1300
1030 CLS #1:PRINT #1,"DOMMAGE POUR VOUS,JE GAGNE !!"
1040 FOR TPS=1 TO 2000:NEXT TPS
1050 CLS #1:PRINT #1,"JE VOUS PROPOSE:"
1060 FOR TPS=1 TO 2000:NEXT TPS
1070 FOR I=1 TO NOPS
1080 IF S(I)=1 THEN SI(i,1)=43:XB(i,1)=2
1090 IF S(I)=2 THEN SI(i,2)=45:XB(i,2)=4
1100 IF S(I)=3 THEN SI(i,3)=42:XB(i,3)=6
1110 IF S(I)=4 THEN SI(i,4)=42:XB(i,4)=5
1120 IF S(I)=5 THEN SI(i,5)=43:XB(i,5)=1
1130 IF S(I)=6 THEN SI(i,6)=43:XB(i,6)=3
1140 NEXT
1150 CLS #1
1160 x2=9:y2=23
1170 FOR i=1 TO nops
1180 FOR J=1 TO 6
1190 IF si(i,j)<>0 THEN GOSUB 1220
1200 NEXT J,i
1203 scom=scom+8
1205 LOCATE 36,16:PRINT USING"###";scom
1207 FOR tps=1 TO 7000:NEXT tps
1208 CLS #1:CLS #2:im=im+1
1209 LOCATE 18,10:PRINT "       "
1210 GOTO 100
1220 x2=x2+5
1225 IF i=1 THEN GOTO 1250
1227 LOCATE 6,23:PRINT XS-XH;"="
1230 LOCATE x2,y2:PRINT CHR$(si(i,S(I)));b(xb(i,j))
1240 RETURN
1250 LOCATE x2,y2:PRINT b(xb(i,j))
1260 RETURN
1300 CLS #1:PRINT #1,"tapez votre resultat"
1310 j=1:k=1
1320 INPUT #1,a$
1330 FOR i=1 TO LEN (a$)
1340 z$=MID$(a$,i,1)
1350 IF ASC(z$)<48 THEN 1380
1360 u$(j)=u$(j)+z$
1370 NEXT i
1375 GOTO 1500
1380 j=j+1
1390 op$(k)=z$
1400 k=k+1
1410 GOTO 1370
1500 votc=0:VOTC=VAL(A$)
1505 FOR i=1 TO j-1
1510 IF ASC(op$(i))=42 THEN votc=votc*VAL(u$(i+1))
1520 IF ASC(op$(i))=43 THEN votc=votc+VAL(u$(i+1))
1530 IF ASC(op$(i))=45 THEN votc=votc-VAL(u$(i+1))
1535 IF ASC(OP$(I))=47 THEN VOTC=VOTC/VAL(U$(I+1))
1540 NEXT i
1550 IF votc=vot THEN 1600
1560 CLS #1
1570 PRINT #1,"PUISQUE VOUS TRICHEZ"
1580 PRINT #1,"JE CONSIDERE QUE JE GAGNE!!"
1590 GOTO 1203
1600 CLS #1:PRINT #1,"VRAIMENT FORT !!"
1605 scov=scov+8
1607 LOCATE 1,16:PRINT USING"###";scov
1608 FOR tps=1 TO 7000:NEXT tps
1609 CLS #1:CLS #2:im=im+1
1610 LOCATE 18,10:PRINT "      ":GOTO 100
20000 REM TRACE DU CERCLE
20010 MOVE 320,140
20020 DEG:FOR A=1 TO 90
20030 X1=COS(A):Y1=SIN(A)
20040 PLOT 320+60*X1,140+Y1*60:PLOT 320-60*X1,140+60*Y1
20050 PLOT 320-60*X1,140-60*Y1:PLOT 320+60*X1,140-60*Y1
20060 NEXT
20070 RETURN
21000 REM TRACE DES AIGUILLES
21010 REM ***********************
21020 X=320:Y=195
21030 MOVE 320,140:DRAW X,Y
21035 RETURN
21040 RETURN
21100 REM *********************
21105 REM MOUVEMENT DES AIGUILLES
21110 FOR tps=1 TO 900:NEXT tps
21120 MOVE 320,140:DRAW X,Y,0
21130 Z=Z-8
21140 X=320+50*COS(Z):Y=140+50*SIN(Z)
21150 MOVE 320,140:DRAW X,Y,1
21155 IF Z=-270 OR z <-270 THEN 951 ELSE 951
30000 FOR n=500 TO 100 STEP -15
30010 SOUND 1,n,4
30020 NEXT
30030 RETURN
35000 REM **affichage du joueur**
35010 LOCATE 2,15:PRINT"*"
35020 LOCATE 37,15:PRINT"  "
35030 RETURN
35100 LOCATE 2,15:PRINT"  "
35110 LOCATE 37,15:PRINT "*"
35120 RETURN