DECLARE SUB font (x, y, s$) DIM g$(5), pp(4), pt(4), gr(4, 50), grc(4, 50), pa(4), chi(4), ee$(30), gra(800) da$ = da$ + STR$(VAL(MID$(DATE$, 4, 2))) + " " IF LEFT$(DATE$, 2) = "01" THEN da$ = da$ + "Gennaio " IF LEFT$(DATE$, 2) = "02" THEN da$ = da$ + "Febbraio " IF LEFT$(DATE$, 2) = "03" THEN da$ = da$ + "Marzo " IF LEFT$(DATE$, 2) = "04" THEN da$ = da$ + "Aprile " IF LEFT$(DATE$, 2) = "05" THEN da$ = da$ + "Maggio " IF LEFT$(DATE$, 2) = "06" THEN da$ = da$ + "Giugno " IF LEFT$(DATE$, 2) = "07" THEN da$ = da$ + "Luglio " IF LEFT$(DATE$, 2) = "08" THEN da$ = da$ + "Agosto " IF LEFT$(DATE$, 2) = "09" THEN da$ = da$ + "Settembre " IF LEFT$(DATE$, 2) = "10" THEN da$ = da$ + "Ottobre " IF LEFT$(DATE$, 2) = "11" THEN da$ = da$ + "Novembre " IF LEFT$(DATE$, 2) = "12" THEN da$ = da$ + "Dicembre " da$ = da$ + RIGHT$(DATE$, 4) g$(5) = "Fine partita" ee$(1) = "c0r4c15r13c0r12c15r2c14r1c15r1c7r1c0r11bm-45,+1" ee$(2) = "c0r4c15r1c4r8c15r3c0r3c7r1c15r11c7r9c0r5bm-45,+1" ee$(3) = "c0r5c15r1c7r7c15r1c0r4c15r4c8r16c7r3c0r4bm-45,+1" ee$(4) = "c0r11c8r2c7r1c8r1c0r9c7r3c10r1c8r1c7r2c10r1c7r1c8r1c0r11bm-45,+1" ee$(5) = "c0r12c8r2c7r1c0r11c7r7c8r1c0r11bm-45,+1" ee$(6) = "c0r14c7r1c8r1c0r8c15r2c0r3c7r1c8r1c0r14bm-45,+1" ee$(7) = "c0r15c7r1c8r1c0r6c15r1c7r1c8r1c0r5c10r1c0r13bm-45,+1" ee$(8) = "c0r16c7r1c8r1c0r4c15r1c7r2c0r20bm-45,+1" ee$(9) = "c0r17c7r1c8r1c0r2c15r1c8r3c0r20bm-45,+1" ee$(10) = "c0r17c7r1c8r1c0r2c15r1c7r2c8r1c7r1c0r19bm-45,+1" ee$(11) = "c0r16c15r5c7r4c8r1c6r1c0r18bm-45,+1" ee$(12) = "c0r16c15r1c7r3c8r2c7r3c6r1c7r2c0r17bm-45,+1" ee$(13) = "c0r18c15r5c7r3c0r19bm-45,+1" ee$(14) = "c0r23c15r1c0r1c15r1c0r19" FOR ar = 1 TO 14 en$ = en$ + ee$(ar) NEXT ar ee$(1) = "c0r24c8r3c0r11bm-38,+1" ee$(2) = "c0r22c8r5c0r11bm-38,+1" ee$(3) = "c0r22c8r5c0r11bm-38,+1" ee$(4) = "c0r38bm-38,+1" ee$(5) = "c0r3c8r1c0r11c8r18c0r5bm-38,+1" ee$(6) = "c0r3c8r2c0r6c8r23c0r4bm-38,+1" ee$(7) = "c0r3c8r11c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r2c0r3bm-38,+1" ee$(8) = "c0r3c8r1c0r1c8r2c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r3bm-38,+1" ee$(9) = "c0r3c8r1c0r3c8r1c0r1c8r1c0r1c8r1c0r21c8r1c0r4bm-38,+1" ee$(10) = "c0r13c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r1c8r1c0r4" FOR ar = 1 TO 10 su$ = su$ + ee$(ar) NEXT ar ee$(1) = "c0r20c15r1c0r18bm-39,+1" ee$(2) = "c0r19c15r1c0r1c15r1c0r17bm-39,+1" ee$(3) = "c0r5c15r1c0r14c15r1c0r18bm-39,+1" ee$(4) = "c0r4c15r1c0r1c15r1c0r32bm-39,+1" ee$(5) = "c0r5c15r1c0r33bm-39,+1" ee$(6) = "c0r13c15r1c0r25bm-39,+1" ee$(7) = "c0r12c15r1c0r1c15r1c0r24bm-39,+1" ee$(8) = "c0r13c15r1c0r13c15r1c0r11bm-39,+1" ee$(9) = "c0r26c15r1c0r1c15r1c0r10bm-39,+1" ee$(10) = "c0r7c15r1c0r10c15r1c0r8c15r1c0r11bm-39,+1" ee$(11) = "c0r13c7r1c0r2c7r3c0r20bm-39,+1" ee$(12) = "c0r13c8r5c12r1c8r1c0r19bm-39,+1" ee$(13) = "c0r13c8r1c0r2c8r3c0r7c11r1c0r2c11r3c0r7bm-39,+1" ee$(14) = "c0r26c3r5c8r1c3r1c0r6bm-39,+1" ee$(15) = "c0r4c7r1c0r2c7r3c0r16c3r1c0r2c3r3c0r7bm-39,+1" ee$(16) = "c0r4c8r5c12r1c8r1c0r28bm-39,+1" ee$(17) = "c0r4c8r1c0r2c8r3c0r4c11r1c0r2c11r3c0r19bm-39,+1" ee$(18) = "c0r14c3r5c8r1c3r1c0r4c15r1c0r13bm-39,+1" ee$(19) = "c0r14c3r1c0r2c3r3c0r19bm-39,+1" ee$(20) = "c0r18c15r1c0r6c7r1c0r2c7r3c0r8bm-39,+1" ee$(21) = "c0r25c8r5c12r1c8r1c0r7bm-39,+1" ee$(22) = "c0r8c7r1c0r2c7r3c0r11c8r1c0r2c8r3c0r8bm-39,+1" ee$(23) = "c0r8c8r5c12r1c8r1c0r24bm-39,+1" ee$(24) = "c0r8c8r1c0r2c8r3c0r7c11r1c0r2c11r3c0r12bm-39,+1" ee$(25) = "c0r21c3r5c8r1c3r1c0r11bm-39,+1" ee$(26) = "c0r21c3r1c0r2c3r3c0r12" FOR ar = 1 TO 26 pe$ = pe$ + ee$(ar) NEXT ar ee$(1) = "c0r26c7r1c0r10bm-37,+1" ee$(2) = "c0r37bm-37,+1" ee$(3) = "c0r4c7r1c0r5c8r1c0r26bm-37,+1" ee$(4) = "c0r20c14r3c6r1c0r13bm-37,+1" ee$(5) = "c0r18c14r3c6r2c0r14bm-37,+1" ee$(6) = "c0r17c14r1c6r1c14r1c6r2c0r15bm-37,+1" ee$(7) = "c0r16c14r1c6r1c14r1c6r1c8r2c0r12c8r1c0r2bm-37,+1" ee$(8) = "c0r16c14r2c6r1c14r1c6r2c0r15bm-37,+1" ee$(9) = "c0r15c14r2c6r1c14r1c8r1c6r1c0r16bm-37,+1" ee$(10) = "c0r12c3r1c0r2c14r1c6r1c8r1c6r2c8r1c0r16bm-37,+1" ee$(11) = "c0r15c14r2c6r1c14r1c6r2c0r16bm-37,+1" ee$(12) = "c0r15c14r1c6r1c14r1c8r1c6r1c8r1c0r16bm-37,+1" ee$(13) = "c0r15c14r2c6r1c8r1c14r1c6r1c0r12c8r1c0r3bm-37,+1" ee$(14) = "c0r8c8r1c0r7c14r1c8r1c6r1c8r1c6r2c0r15bm-37,+1" ee$(15) = "c0r16c14r1c6r1c14r1c8r1c6r1c8r1c0r15bm-37,+1" ee$(16) = "c0r17c14r1c6r1c14r1c6r2c0r15bm-37,+1" ee$(17) = "c0r18c14r3c6r2c0r14bm-37,+1" ee$(18) = "c0r3c7r1c0r16c14r3c6r1c0r13bm-37,+1" ee$(19) = "c0r37bm-37,+1" ee$(20) = "c0r37bm-37,+1" ee$(21) = "c0r22c8r1c0r14bm-37,+1" ee$(22) = "c0r13c7r1c0r19c3r1c0r3" FOR ar = 1 TO 22 lu$ = lu$ + ee$(ar) NEXT ar c(4) = 9 c(3) = 12 c(2) = 14 c(1) = 10 CLS SCREEN 12 DRAW "s48c14" font 75, 150, "MM AA JJ OO NN GG" LINE (83, 150)-(92, 150), 14 LINE (83, 42)-(92, 42), 14 LINE (156, 150)-(164, 150), 14 LINE (156, 42)-(164, 42), 14 LINE (174, 150)-(182, 150), 14 LINE (246, 150)-(252, 150), 14 LINE (210, 42)-(217, 42), 14 LINE (314, 42)-(321, 42), 14 LINE (254, 138)-(261, 138), 14 o = 330 LINE (83 + o, 150)-(91 + o, 150), 14 LINE (83 + o, 42)-(91 + o, 42), 14 LINE (143 + o, 150)-(151 + o, 150), 14 LINE (143 + o, 42)-(151 + o, 42), 14 LINE (554, 55)-(562, 55), 14 LOCATE 20, 1 FOR a = 1 TO 4 PRINT "Giocatore nĝ"; a; IF a = 1 THEN PRINT "in est" ELSE PRINT INPUT g$(a) NEXT a CLS est% = 1 DO DO FOR a = 1 TO 11 LOCATE 17 + a, 1: PRINT " " NEXT a LOCATE 18, 1 PRINT g$(est%); " in est." FOR a = 1 TO 4 PRINT "Quanti punti ha fatto "; g$(a) INPUT pp$ pp(a) = VAL(pp$) NEXT a DO LOCATE 27, 1: INPUT "Chi ha chiuso"; chi$ chi% = VAL(chi$) LOOP UNTIL 0 < chi% AND chi% < 6 LOCATE 27, 15: PRINT " "; g$(chi%); " " INPUT "E' giusto (S/N)"; a$ a$ = LCASE$(a$) LOOP UNTIL a$ = "s" OR a$ = "si" IF chi% = 5 THEN GOTO 1000 chi(chi%) = chi(chi%) + 1 FOR a = 1 TO 4 pt(a) = 0 NEXT a IF chi% = 1 THEN a(1) = 2: a(2) = 4: a(3) = 3 IF chi% = 2 THEN a(1) = 1: a(2) = 4: a(3) = 3 IF chi% = 3 THEN a(1) = 2: a(2) = 4: a(3) = 1 IF chi% = 4 THEN a(1) = 2: a(2) = 1: a(3) = 3 FOR x = 1 TO 3 pt(chi%) = pt(chi%) + pp(chi%): pt(a(x)) = pt(a(x)) - pp(chi%) IF est% = chi% OR est% = a(x) THEN pt(chi%) = pt(chi%) + pp(chi%): pt(a(x)) = pt(a(x)) - pp(chi%) NEXT x pt(a(1)) = pt(a(1)) + pp(a(1)) - pp(a(2)): pt(a(2)) = pt(a(2)) + pp(a(2)) - pp(a(1)) IF est% = a(1) OR est% = a(2) THEN pt(a(1)) = pt(a(1)) + pp(a(1)) - pp(a(2)): pt(a(2)) = pt(a(2)) + pp(a(2)) - pp(a(1)) pt(a(3)) = pt(a(3)) + pp(a(3)) - pp(a(2)): pt(a(2)) = pt(a(2)) + pp(a(2)) - pp(a(3)) IF est% = a(3) OR est% = a(2) THEN pt(a(3)) = pt(a(3)) + pp(a(3)) - pp(a(2)): pt(a(2)) = pt(a(2)) + pp(a(2)) - pp(a(3)) pt(a(1)) = pt(a(1)) + pp(a(1)) - pp(a(3)): pt(a(3)) = pt(a(3)) + pp(a(3)) - pp(a(1)) IF est% = a(1) OR est% = a(3) THEN pt(a(1)) = pt(a(1)) + pp(a(1)) - pp(a(3)): pt(a(3)) = pt(a(3)) + pp(a(3)) - pp(a(1)) CLS FOR x = 1 TO 4 pa(x) = pa(x) + pt(x) NEXT x CLS num = num + 1 grc(chi%, num) = 1 FOR x = 1 TO 4 gr(x, num) = pa(x) IF pa(x) > top THEN top = pa(x) IF pa(x) < bot THEN bot = pa(x) NEXT x IF ABS(top) <= ABS(bot) THEN co = 230 / ABS(2 * bot) IF ABS(top) > ABS(bot) THEN co = 230 / ABS(2 * top) LINE (1, 150 - 0 * co)-(400, 150 - 0 * co), 8 'qvi cominciano i disegnini dei pesci, dell'astronave, della lvna e del sottomarino e la data DRAW "s4c7" font 10, 10, da$ IF bot <= -900 THEN ertyu = INT(135 + 800 * co): ertyi = FIX(num * 2.5): rty$ = "bm" + STR$(ertyi) + "," + STR$(ertyu) DRAW rty$: DRAW pe$ END IF IF top >= 1000 THEN ertyu = INT(150 - 900 * co): ertyi = INT(num * 2.5): rty$ = "bm" + STR$(ertyi) + "," + STR$(ertyu) DRAW rty$: DRAW lu$ END IF IF bot <= -1800 THEN ertyu = INT(135 + 1700 * co): ertyi = num * 5: rty$ = "bm" + STR$(ertyi) + "," + STR$(ertyu) DRAW rty$: DRAW su$ END IF IF top >= 2000 THEN ertyu = INT(150 - 1900 * co): ertyi = num * 5: rty$ = "bm" + STR$(ertyi) + "," + STR$(ertyu) DRAW rty$: DRAW en$ END IF 'fine disegnini FOR x = 1 TO num FOR xx = 1 TO 4 LINE ((x - 1) * 10, 150 - gr(xx, x - 1) * co)-(x * 10, 150 - gr(xx, x) * co), c(xx) IF grc(xx, x) = 1 THEN CIRCLE ((x - 1) * 10, 150 - gr(xx, x - 1) * co), 2, c(xx) NEXT xx NEXT x DRAW "s4" FOR x = 1 TO 4 COLOR c(x) EeEe$ = "C" + STR$(c(x)): DRAW EeEe$ font num * 10 - 3, 155 - (gr(x, num)) * co, g$(x) font 480, x * 14 + 17, g$(x) + ": " + STR$(pa(x)) font 480, x * 14 + 34 + 15 + (14 * 4), g$(x) + ": " + STR$(pt(x)) font 480, x * 14 + 34 + 30 + 17 + (14 * 8), g$(x) + ": " + STR$(chi(x)) NEXT x DRAW "c15" COLOR 15 font 480, 17, "TOTALI:" font 480, 5 * 14 + 19 + 15, "PARZIALI:" font 480, 9 * 14 + 36 + 30, "CHIUSURE:" IF chi% <> est% THEN est% = est% + 1 IF est% = 5 THEN est% = 1 LOOP 1000 CLS OPEN "majong.pts" FOR OUTPUT AS 1 PRINT #1, da$ PRINT #1, " " FOR a = 1 TO (num - 1) FOR x = 1 TO 4 ee$ = "" IF grc(x, a) = 1 THEN ee$ = "*" PRINT #1, g$(x); " "; gr(x, a); ee$ NEXT x PRINT #1, " " NEXT a PRINT #1, "Punteggio finale:" FOR x = 1 TO 4 PRINT #1, g$(x), pa(x) NEXT x CLOSE 1 SUB font (x, y, s$) ee = 0 FOR e = 1 TO LEN(s$) a$ = MID$(s$, e, 1) ee = ee + 1 'si inizia a scrivere la lettera dal pixel in basso a sinistra 'Lettere maiuscole e numeri: h=10 'Lettere minuscole: h=6 'Spessore=6 xx = x yy = INT(y) e$ = "bm" + STR$(xx + ee * 8) + "," + STR$(yy) DRAW e$ IF a$ = "0" THEN a$ = "O" IF a$ = "A" THEN DRAW "m+3,-9 m+3,+9 bm-2,-3 l3" IF a$ = "R" OR a$ = "P" OR a$ = "B" THEN DRAW "u9 r4 f1 d2 g1 nl4 " IF a$ = "B" THEN DRAW "bd1br1d3bd1bl1l3" IF a$ = "Q" OR a$ = "O" OR a$ = "C" OR a$ = "G" THEN DRAW "bu1nf1u7e1r3f1bd7g1l3" IF a$ = "D" THEN DRAW "u9r4f1d7g1l4" IF a$ = "E" THEN DRAW "nr5u5nr4u4r5" IF a$ = "F" THEN DRAW "u5nr4u4r5" IF a$ = "G" THEN DRAW "r3e1u2l1" IF a$ = "W" THEN DRAW "br1 nm-2,-9 m+2,-9 m+2,+9 m+2,-9": ee = ee + .25 IF a$ = "H" THEN DRAW "u9d4r5u4d9" IF a$ = "I" THEN DRAW "r2l1u9r1l2 ": ee = ee - .375 IF a$ = "L" THEN DRAW "nu9r5" IF a$ = "M" THEN DRAW "u9f3e3d9": ee = ee + .125 IF a$ = "N" THEN DRAW "u9 m+5,+9 u9" IF a$ = "O" OR a$ = "Q" THEN DRAW "nh1r3e1nu7" IF a$ = "." THEN DRAW "u1": ee = ee - .625 IF a$ = "Q" THEN DRAW "bd1bl1d1u2h1" IF a$ = "J" THEN DRAW "bu1f1r3e1u8" IF a$ = "K" THEN DRAW "u9d5nm+5,-5u1nm+5,+5" IF a$ = "R" THEN DRAW "l2 m+3,+5" IF a$ = "S" THEN DRAW "bu1f1r3e1u3h1l3h1u2e1r3f1" IF a$ = "T" THEN DRAW "br3u9 nr3nl3" IF a$ = "U" THEN DRAW "bu9 d8 m+1,+1r3m+1,-1 u8" IF a$ = "V" THEN DRAW "bu9 d1 m+3,+8m+3,-9" IF a$ = "Y" THEN DRAW "br3u4 nm+3,-5m-3,-5 " IF a$ = "Z" THEN DRAW "nr5m+5,-9l5" IF a$ = "X" THEN DRAW "m+5,-9bd9m-5,-9" IF a$ = "-" THEN DRAW "bu5 r5" IF a$ = "?" THEN DRAW "br3 u1 bu2 u1e2u1h2l2g1" IF a$ = "!" THEN DRAW "u1 bu2 u6": ee = ee - .625 IF a$ = "," THEN DRAW "br2g1": ee = ee - .5 IF a$ = ":" THEN DRAW "u1 bu3 u1": ee = ee - .625 IF a$ = "q" THEN DRAW "bu2u3e1r3f1d9u5g1l3h1" IF a$ = "w" THEN DRAW "bu1nu5f1r1e1nu5f1r1e1nu5": ee = ee + .125 IF a$ = "e" THEN DRAW "bu1u4e1r3f1d2l5d2f1r3e1" IF a$ = "r" THEN DRAW "u6d1r1e1r2f1" IF a$ = "t" THEN DRAW "br5bu1g1l3h1u6nr3u2" IF a$ = "y" THEN DRAW "bu1nu5f1r4nu6d3g1l3" IF a$ = "u" THEN DRAW "bu1nu5f1r3e1u5" IF a$ = "i" THEN DRAW "u6bu2u1": ee = ee - .625 IF a$ = "'" THEN DRAW "bm+0,-9d1": ee = ee - .625 IF a$ = "o" THEN DRAW "bu1u4e1r3f1d4g1l3h1" IF a$ = "p" THEN DRAW "nd4u5e1r3f1d4g1l4" IF a$ = "a" THEN DRAW "bu1u1e1r4d2nf1g1l3nh1 r3e1u4h1l3g1" IF a$ = "s" THEN DRAW "bu1f1r3e1u1h1l3h1u1e1r3f1" IF a$ = "d" THEN DRAW "bu1u4e1r4nu3d5g1l3h1" IF a$ = "f" THEN DRAW "u5nr3u3e1r3f1" IF a$ = "g" THEN DRAW "bu1u4e1r3f1d5l4nh1r4d3g1l3" IF a$ = "h" THEN DRAW "nu9u5r1e1r2f1d5" IF a$ = "j" THEN DRAW "bd3f1r3e1u9bu2u1" IF a$ = "k" THEN DRAW "nu9u3r1ne2nf3": ee = ee - .125 IF a$ = "l" THEN DRAW "nu9": ee = ee - .625 IF a$ = "m" THEN DRAW "u6d1r1e1r2f1nd5r1e1r2f1d5": ee = ee + .625 IF a$ = "n" THEN DRAW "u6d1r1e1r2f1d5" IF a$ = "b" THEN DRAW "bu1nu8f1r3e1u4h1l3" IF a$ = "v" THEN DRAW "bu6d1f1d1f1d1f1e1u1e1u1e1u1": ee = ee + .125 IF a$ = "c" THEN DRAW "br5bu1g1l3h1u4e1r3f1" IF a$ = "x" THEN DRAW "e3nh3l1ne3f3" IF a$ = "z" THEN DRAW "nr5u1e5l5" IF a$ = "•" THEN DRAW "bu1u4e1r3f1d4g1l3h1u4e1r2bu2h1" IF a$ = "…" THEN DRAW "bu1u1e1r4d2nf1g1l3nh1r3e1u4h1l3ng1r2bu2h1" IF a$ = "—" THEN DRAW "bu1nu5f1r3e1u5bl2bu2h1" IF a$ = "Š" THEN DRAW "bu1u4e1r3f1d2l5d2f1r3e1bu7bl3h1" IF a$ = "" THEN DRAW "u6bu2h1": ee = ee - .625 IF a$ = "1" THEN DRAW "r2l1u9g1": ee = ee - .375 IF a$ = "2" THEN DRAW "nr5u1e5u2h1l3g1" IF a$ = "3" THEN DRAW "bu1f1r3e1u3h1n l2 e1u2h1l3g1" IF a$ = "4" THEN DRAW "bu2nr5u1e1u1e1u1e1e1d9" IF a$ = "5" THEN DRAW "bu1f1r3e1u4h1l4nd1u3r5" IF a$ = "6" THEN DRAW "bu1nu5f1r3e1u3h1l2g1l1u4e1r3f1" IF a$ = "7" THEN DRAW "br2u3e1u2e1u1e1l5" IF a$ = "8" THEN DRAW "bu1nf1u3e1nr3h1u2e1r3f1d2g1f1d3g1l3" IF a$ = "9" THEN DRAW "bu1f1r3e1u7h1l3g1d3f1r2e1r1" IF a$ = "" THEN ee = ee - .25 NEXT e END SUB