home *** CD-ROM | disk | FTP | other *** search
Wrap
10 G1$ = "<F>=FINE.UN ALTRO TASTO=CONTINUA" 20 A$ = " " 30 HOME : VTAB 23: PRINT "----------------------------------------": PRINT " CARLO SAPETTI - TORINO" 40 HGR : HCOLOR= 3 50 FOR I = 0 TO 80 STEP 2 60 HPLOT I,I TO 279 -I,I TO 279 -I,159 -I TO I,159 -I TO I,I 70 NEXT I: HCOLOR= 0 80 FOR I = 1 TO 28: HPLOT 67,I +64 TO 211,I +64: NEXT 90 HCOLOR= 3 100 FOR I = 1 TO 10: READ B(I): NEXT I 110 POKE 233,112: POKE 232,0 120 FOR I = 0 TO 6: FOR J = 1 TO 16: READ A% 130 B% = I *16 +J: POKE 28671 +B%,A% 140 NEXT J: NEXT I 150 FOR I = 1 TO 10 160 K = 72:K = K +I *12 170 ROT= 0: SCALE= 2 180 DRAW B(I) AT K,74 190 NEXT I 200 GOSUB 1290 210 HOME : INVERSE : PRINT A$: POKE 33,1: PRINT A$;: HTAB 40: POKE 32,39: PRINT A$;: POKE 32,2: POKE 33,36 220 POKE 34,2: HOME : TEXT : VTAB 23: PRINT A$;: POKE 32,3: POKE 33,37: VTAB 3: HTAB 1 230 PRINT : PRINT : PRINT 240 PRINT "FACCIAMO CINQUE MUCCHIETTI DI": PRINT : PRINT "FIAMMIFERI POI A TURNO PRENDIAMO": PRINT : PRINT "DEI FIAMMIFERI DA UNO SOLO DEI": PRINT : PRINT "MUCCHI. CHI RIESCE A PRENDERE": PRINT 250 PRINT "L' ULTIMO FIAMMIFERO HA VINTO" 260 PRINT : NORMAL 270 PRINT "LIVELLO 1=PRINCIPIANTE": PRINT " 2=MEDIO": PRINT " 3=ESPERTO": PRINT "QUALE? ";: GET K$:K = VAL(K$) 280 PRINT 290 G$ = CHR$(7):G1$ = "<F>=FINE. UN ALTRO TASTO=CONTINUA" 300 A$ = " " 310 FOR I = 1 TO 5:A$(I) = CHR$(I +64): NEXT I 320 IF K >3 OR K <1 THEN PRINT G$: GOTO 270 330 N1 = 4:N2 = 2:N3 = 3: IF K = 2 THEN N1 = 6:N2 = 4:N3 = 4 340 IF K = 3 THEN N1 = 48:N2 = 7:N3 = 6 350 FOR I = 1 TO 5:X%(I) = RND(1) *N1 +N2: NEXT I 360 TEXT : HOME : PRINT "I FIAMMIFERI DEI CINQUE MUCCHI ORA SONO" 370 PRINT "---------------------------------------": PRINT 380 POKE 34,22 390 FOR I = 1 TO 5: VTAB I *3 +1: PRINT A$(I);" =": NEXT I 400 POKE 32,4: POKE 33,36 410 FOR I = 1 TO 5 420 A% = X%(I):A(0,I) = A% 430 GOSUB 940 440 GOSUB 1080 450 PRINT 460 NEXT I 470 VTAB 23: PRINT "GIOCA PER PRIMO LO SFIDANTE <S> ": PRINT "O IL COMPUTER <C>? ";: GET K$: PRINT : PRINT : IF K$ = "S" OR K$ = "s" THEN GOTO 790 480 IF K$ < >"C" AND K$ < >"c" THEN PRINT G$: GOTO 470 490 FOR I = 1 TO 5:A% = A(0,I) 500 GOSUB 940 510 NEXT I 520 REM A(J,6) PARI O DISPARI 530 A(0,6) = 0:J = 0 540 J = J +1:A(J,6) = 0 550 FOR I = 1 TO 5 560 A(J,6) = ABS(A(J,6) -A(J,I)) 570 NEXT I 580 IF J <N3 THEN GOTO 540 590 REM CERCO IL MASSIMO A(J,6) DIVERSO DA ZERO 600 FOR J = N3 TO 1 STEP -1 610 IF A(J,6) = 1 THEN GOTO 1030 620 NEXT J 630 REM SE TUTTI I </> SONO 0 DIMEZZO IL MAGGIORE 640 FOR I = 2 TO 5: IF A(0,1) >A(0,I) THEN C = 1: NEXT I: GOTO 690 650 FOR I = 3 TO 5: IF A(0,2) >A(0,I) THEN C = 2: NEXT I: GOTO 690 660 FOR I = 4 TO 5: IF A(0,3) >A(0,I) THEN C = 3: NEXT I: GOTO 690 670 IF A(0,4) >A(0,5) THEN C = 4: GOTO 690 680 C = 5 690 REM IL MAGGIORE E' A(0,I) 700 L% = A(0,C)/2:L = A(0,C) -L%:A(0,C) = L% 710 I = C 720 A% = A(0,C): GOSUB 940 730 PRINT : PRINT "PRENDO DA ";A$(I);" ";L" FIAMMIFER"; 740 IF L = 1 THEN PRINT "O": GOTO 760 750 PRINT "I" 760 A(8,I) = L: GOSUB 1080: VTAB 23: PRINT 770 FOR I = 1 TO 5: IF A(0,I) >0 THEN GOTO 790 780 NEXT I: PRINT : GOTO 1200 790 REM 800 PRINT : INPUT "DA QUALE MUCCHIO PRENDI? ";AA$: IF AA$ = "" THEN C = 0: GOTO 820 810 C = ASC(AA$) -64 820 IF C <1 OR C >5 THEN PRINT G$: PRINT "NON ESISTE":ER = 1: GOTO 890 830 INPUT "QUANTI FIAMMIFERI TOGLI? ";M: PRINT 840 REM CONTROLLI 850 IF M <0 THEN M = -M: PRINT : PRINT "DEVE ESSERE POSITIVO": PRINT "PRENDO IL CONTRARIO ";M;: GOSUB 1290: PRINT 860 M% = M: IF M% <M THEN PRINT "NON ROMPERMI I FIAMMIFERI!": PRINT "PRENDO SOLO L'INTERO ";M%;:M = M%: GOSUB 1290: PRINT 870 IF M >A(0,C) THEN PRINT G$: PRINT : PRINT "TROPPO GRANDE":ER = 1 880 IF M = 0 THEN PRINT "NON VALE LO ZERO ":ER = 1 890 GOSUB 1290: IF ER = 1 THEN ER = 0: GOTO 800 900 I = C:A(8,I) = M:A(0,I) = A(0,I) -M:A% = A(0,I): GOSUB 940: GOSUB 1080 910 FOR I = 1 TO 5: IF A(0,I) >0 THEN GOTO 930 920 NEXT I: PRINT : GOTO 1230 930 VTAB 23: PRINT : GOSUB 1010: GOTO 520 940 REM SCOMPORRE IN BINARI 950 FOR J = 1 TO N3 960 H% = A%/2 970 A(J,I) = A% -2 *H% 980 A% = H% 990 NEXT J 1000 RETURN 1010 PRINT G1$;: GET K$: IF K$ = "F" THEN PRINT : GOTO 1190 1020 RETURN 1030 REM RENDERE PARI I FIAMMIFERI 1040 FOR I = 1 TO 5: IF A(J,I) <1 THEN NEXT I 1050 A(0,6) = 0: FOR J = 1 TO N3:A(J,I) = ABS(A(J,I) -A(J,6)) 1060 A(0,6) = A(0,6) +A(J,I) *2 ^(J -1): NEXT J 1070 L = A(0,I) -A(0,6):A(0,I) = A(0,6):A% = A(0,I): GOTO 730 1080 REM DISEGNO I FIAMM. NELLA LORO RIGA 1090 VTAB I *3 +1: HTAB 1: IF A(0,I) <10 THEN PRINT A$; 1100 PRINT A(0,I);A$;:A$ = "/": IF A(0,I) = 0 THEN GOTO 1120 1110 AA = A(0,I): GOSUB 1170 1120 IF A(8,I) = 0 THEN GOTO 1160 1130 AA = A(8,I): INVERSE : GOSUB 1170: NORMAL : GOSUB 1290 1140 VTAB I *3 +1: HTAB 4: IF A(0,I) >0 THEN AA = A(0,I): GOSUB 1170 1150 A$ = " ":AA = A(8,I): GOSUB 1170 1160 A$ = " ":A(8,I) = 0: RETURN 1170 REM DISEGNA 1180 FOR T = 1 TO AA: PRINT A$;: NEXT T: RETURN 1190 PRINT : PRINT "SE RINUNCI ";: GOTO 1210 1200 PRINT G$;G$;: INVERSE : HTAB 10: VTAB 10 1210 PRINT "HAI PERSO LA PARTITA!";: NORMAL : GOSUB 1290: GOTO 1240 1220 TEXT : HOME : VTAB 10: HTAB 10: PRINT "UN MOMENTO, PREGO...": PRINT CHR$(4)"RUN APDSK": END 1230 PRINT G$: PRINT G$: INVERSE : VTAB 10: HTAB 10: PRINT "HAI VINTO TU!": NORMAL 1240 PRINT : VTAB 23: PRINT "VUOI FARE UN' ALTRA PARTITA? ": PRINT "<S> O <N> ";: GET K$: IF K$ = "N" OR K$ = "n" THEN GOTO 1220 1250 PRINT : PRINT "CON GLI STESSI NUMERI <S> ": PRINT "O CON NUMERI NUOVI <N>? ";: GET K$ 1260 TEXT : HOME : IF K$ = "S" OR K$ = "s" THEN GOTO 360 1270 GOTO 350 1280 HOME : PRINT G$: PRINT 1290 FOR O = 1 TO 1500: NEXT O: RETURN 1300 REM 1310 DATA 3,4,1,5,5,4,3,2,6,4 1320 DATA 06,00,16,00,32,00,48,00,64,00,80,00,96,00,00,00 1330 DATA 9,14,14,54,54,36,60,63,55,54,36,36,12,30,00,00 1340 DATA 45,45,63,63,54,46,45,63,55,54,45,45,07,00,00,00 1350 DATA 45,45,63,63,54,46,45,63,55,54,04,00,00,00,00,00 1360 DATA 09,61,47,54,54,54,47,61,00,00,00,00,00,00,00,00 1370 DATA 54,54,54,36,36,36,14,14,38,12,12,54,54,54,36,00 1380 DATA 54,54,54,36,36,36,45,117,246,63,14,14,14,28,00,00