CLS DIM Filenum AS INTEGER RANDOMIZE TIMER ASKEL = 1800 PANOS = 1 GOSUB tiedosto OUT 888, 0 OUT 890, 1 OUT 890, 0 OUT 890, 9 OUT 888, 1 OUT 890, 11 10 OUT 888, 240 OUT 890, 2 OUT 888, 0 VIIVE2 = VIIVE2 + 1 IF VIIVE2 > 12000 AND VOITOT > 0 AND SUMMA > 0 THEN OUT 888, 7 IF VIIVE2 > 12000 AND VOITOT = 0 AND SUMMA > 0 THEN OUT 888, 1 IF VIIVE2 > 12000 AND VOITOT = 0 AND SUMMA > 1 THEN OUT 888, 5 IF VIIVE2 > 12000 AND VOITOT > 0 AND SUMMA = 0 THEN OUT 888, 3 IF VIIVE2 > 12000 AND VOITOT > 1 AND SUMMA = 0 THEN OUT 888, 7 IF VIIVE2 = 12000 THEN OUT 888, 0 OUT 890, 10 IF VIIVE2 = 24000 THEN VIIVE2 = 0 OUT 890, 2 A = INP(889) VIIVE = VIIVE + 1 IF A = 199 AND VOITOT > 0 THEN GOSUB VOITONMAKSU IF A = 143 THEN GOSUB COININ IF A = 167 THEN GOSUB PANOSTA IF A = 7 THEN GOSUB START IF VIIVE = 20000 THEN VIIVE = 0 ELSE GOTO 10 20 U = SUMMA luku = SUMMA GOSUB NUMEROT OUT 888, Y OUT 890, 1 OUT 890, 0 U = VOITOT luku = VOITOT GOSUB NUMEROT OUT 888, Y OUT 890, 9 OUT 890, 0 U = PANOS luku = PANOS GOSUB NUMEROT OUT 888, Y OUT 890, 11 OUT 890, 0 GOTO 10 COININ: 200 A = INP(889) IF A = 143 THEN GOTO 200 SUMMA = SUMMA + 1 paaoma = paaoma + 1 GOSUB ADDDATA RETURN PANOSTA: 201 A = INP(889) IF A = 167 THEN GOTO 201 PANOS = PANOS + 1 IF PANOS > 3 THEN PANOS = 1 PAAO = VOITOT + SUMMA IF PAAO < PANOS THEN PANOS = 1 U = PANOS luku = PANOS GOSUB NUMEROT OUT 888, Y OUT 890, 11 OUT 890, 0 RETURN START: IF SUMMA = 0 THEN GOTO 225 219 IF SUMMA < PANOS THEN VOITOT = VOITOT + SUMMA IF SUMMA < PANOS THEN SUMMA = 0 IF SUMMA = 0 THEN VOITOT = VOITOT - PANOS ELSE SUMMA = SUMMA - PANOS 220 A = INP(889) IF A = 7 THEN GOTO 220 223 OUT 890, 0 OUT 888, 0 OUT 890, 10 OUT 890, 0 U = SUMMA luku = SUMMA GOSUB NUMEROT OUT 888, Y OUT 890, 1 OUT 890, 0 U = VOITOT luku = VOITOT GOSUB NUMEROT OUT 888, Y OUT 890, 9 OUT 890, 0 GOSUB KIEKOT U = VOITOT luku = VOITOT GOSUB NUMEROT OUT 888, Y OUT 890, 9 OUT 890, 0 OUT 888, 0 OUT 890, 0 SLEEP 2 OUT 890, 4 VO = INP(889) OUT 890, 0 IF VO = 103 THEN V = 0 IF VO = 119 THEN V = 2 IF VO = 111 THEN V = 4 IF VO = 127 THEN V = 30 IF V = 2 THEN VOITTO = 1 IF V = 4 THEN VOITTO = 2 IF V = 30 THEN VOITTO = 4 IF V = 2 THEN GOSUB MUSIIKKI IF V = 4 THEN GOSUB MUSIIKKI IF V = 30 THEN GOSUB MUSIIKKI IF V > 0 THEN GOSUB VOITONN GOSUB ADDDATA GOSUB TARKISTUS RETURN VOITONN: FOR o = 1 TO V VOITOT = VOITOT + PANOS U = VOITOT luku = VOITOT FOR T = 1 TO 40000 NEXT T GOSUB NUMEROT OUT 888, Y OUT 890, 9 OUT 890, 0 NEXT o V = 0 RETURN 225 IF VOITOT = 0 THEN RETURN ELSE GOTO 219 RETURN NUMEROT: E = INT(luku / 10) FOR I = 1 TO E U = U - 10 NEXT I IF luku < 10 THEN B = 240 IF luku > 9 THEN B = 16 IF luku > 19 THEN B = 32 IF luku > 29 THEN B = 48 IF luku > 39 THEN B = 64 IF luku > 49 THEN B = 80 IF luku > 59 THEN B = 96 IF luku > 69 THEN B = 112 IF luku > 79 THEN B = 128 IF luku > 89 THEN B = 144 IF luku > 99 THEN B = 160 Y = U + B RETURN MUSIIKKI: scale$ = "F#C" PLAY "MBL8" FOR I = 1 TO VOITTO IF I = 4 THEN I% = 1 IF I = 3 THEN I% = 2 IF I = 2 THEN I% = 3 IF I = 1 THEN I% = 4 PLAY "O" + STR$(I%) PLAY "X" + VARPTR$(scale$) NEXT I RETURN VOITONMAKSU: OUT 890, 0 400 OUT 888, 7 OUT 890, 5 A = INP(889) IF A = 127 THEN GOSUB HOPPERI OUT 890, 0 GOTO 400 HOPPERI: 500 A = INP(889) IF A = 127 THEN GOTO 500 VOITOT = VOITOT - 1 paaoma = paaoma - 1 U = VOITOT luku = VOITOT GOSUB NUMEROT OUT 888, Y OUT 890, 9 OUT 890, 0 IF VOITOT = 0 THEN GOSUB ADDDATA IF VOITOT = 0 THEN GOSUB TARKISTUS IF VOITOT = 0 THEN GOTO 10 RETURN TARKISTUS: PAAO = VOITOT + SUMMA IF PAAO < PANOS THEN PANOS = PAAO IF PAAO = 0 THEN PANOS = 1 RETURN KIEKOT: KIERROS = INT(RND * 168) + 168 KIERROS2 = INT(RND * 56) + 56 OUT 888, 0 OUT 890, 9 4000 OUT 888, 153 KIERROS = KIERROS - 1 FOR I = 1 TO ASKEL NEXT I IF KIERROS = 0 THEN GOTO 5000 KIERROS = KIERROS - 1 OUT 888, 85 FOR I = 1 TO ASKEL NEXT I IF KIERROS = 0 THEN GOTO 5000 KIERROS = KIERROS - 1 OUT 888, 102 FOR I = 1 TO ASKEL NEXT I IF KIERROS = 0 THEN GOTO 5000 KIERROS = KIERROS - 1 OUT 888, 170 FOR I = 1 TO ASKEL NEXT I IF KIERROS = 0 THEN GOTO 5000 IF KIERROS > 0 THEN GOTO 4000 5000 KIERROS2 = KIERROS2 - 1 OUT 888, 169 FOR I = 1 TO ASKEL NEXT I IF KIERROS2 = 0 THEN GOTO 6000 KIERROS2 = KIERROS2 - 1 OUT 888, 165 FOR I = 1 TO ASKEL NEXT I IF KIERROS2 = 0 THEN GOTO 6000 KIERROS2 = KIERROS2 - 1 OUT 888, 166 FOR I = 1 TO ASKEL NEXT I IF KIERROS2 = 0 THEN GOTO 6000 KIERROS2 = KIERROS2 - 1 OUT 888, 170 FOR I = 1 TO ASKEL NEXT I IF KIERROS2 = 0 THEN GOTO 6000 IF KIERROS2 > 0 THEN GOTO 5000 6000 OUT 890, 0 OUT 888, 0 RETURN tiedosto: VOITOT$ = "voitot.dat" Filenum% = FREEFILE OPEN VOITOT$ FOR INPUT AS Filenum% PRINT : PRINT UCASE$(VOITOT$); " opened for input for input." LINE INPUT #Filenum%, l$ VOITOT = VAL(l$) CLOSE Filenum% SUMMA$ = "summa.dat" Filenum% = FREEFILE OPEN SUMMA$ FOR INPUT AS Filenum% PRINT : PRINT UCASE$(SUMMA$); " opened for input for input." LINE INPUT #Filenum%, l$ SUMMA = VAL(l$) CLOSE Filenum% paaoma$ = "paaoma.dat" Filenum% = FREEFILE OPEN paaoma$ FOR INPUT AS Filenum% PRINT : PRINT UCASE$(paaoma$); " opened for input for input." LINE INPUT #Filenum%, l$ paaoma = VAL(l$) CLOSE Filenum% RETURN ADDDATA: filename$ = "voitot.dat" Filenum% = FREEFILE OPEN filename$ FOR OUTPUT AS Filenum% PRINT : PRINT UCASE$(filename$); " opened for output as File #"; Filenum% PRINT #Filenum%, VOITOT CLOSE Filenum% filename$ = "summa.dat" Filenum% = FREEFILE OPEN filename$ FOR OUTPUT AS Filenum% PRINT : PRINT UCASE$(filename$); " opened for output as File #"; Filenum% PRINT #Filenum%, SUMMA CLOSE Filenum% filename$ = "paaoma.dat" Filenum% = FREEFILE OPEN filename$ FOR OUTPUT AS Filenum% PRINT : PRINT UCASE$(filename$); " opened for output as File #"; Filenum% PRINT #Filenum%, paaoma CLOSE Filenum% RETURN