1: DECLARE SUB SaveScreen (f$) 2: DECLARE SUB LoadPal (f$) 3: SCREEN 13: CLS 4: DIM SHARED Pal(1256) AS LONG 5: Horz = POINT(1): Vert = POINT(0) 6: PSET (Vert, Horz), 2 7: C = 1 8: FILES "*.pa2" 9: INPUT "Palette name"; f$ 10: INPUT "BSV file"; bsv$ 11: IF INSTR(f$, ".") = 0 THEN f$ = f$ + ".pa2" 12: CLS 13: LoadPal f$ 14: 1 d$ = INKEY$ 15: IF d$ = "" THEN 16: a = INT(RND * 4) 17: IF a = 0 THEN a$ = CHR$(0) + "M" 18: IF a = 1 THEN a$ = CHR$(0) + "K" 19: IF a = 2 THEN a$ = CHR$(0) + "P" 20: IF a = 3 THEN a$ = CHR$(0) + "H" 21: ELSE a$ = d$ 22: END IF 23: IF a$ = "" THEN GOTO 1 24: RANDOMIZE TIMER + a - VAL(DATE$) + VAL(TIME$) 25: IF a$ = CHR$(0) + "M" AND Vert < 319 THEN Vert = Vert + 1 26: IF a$ = CHR$(0) + "K" AND Vert > 0 THEN Vert = Vert - 1 27: IF a$ = CHR$(0) + "P" AND Horz < 199 THEN Horz = Horz + 1 28: IF a$ = CHR$(0) + "H" AND Horz > 0 THEN Horz = Horz - 1 29: IF a$ = CHR$(27) THEN SaveScreen bsv$ 30: IF POINT(Horz, Vert) = Horz THEN GOTO 1 31: IF a$ = "" THEN END 32: 'IF C < 240 THEN C = C + 1 ELSE C = 2 33: C = Horz * 1.299999999# 34: 'PSET (Vert - 1, Horz - 1), C 35: 'PSET (Vert - 1, Horz + 1), C 36: PSET (Vert + 1, Horz + 1), C 37: PSET (Vert + 1, Horz - 1), C 38: 'PSET (Vert, Horz + 1), C 39: PSET (Vert, Horz - 1), C 40: PSET (Vert + 1, Horz), C 41: 'PSET (Vert - 1, Horz), C 42: IF Horz < 199 AND Vert < 319 THEN PSET (Vert, Horz), C ELSE GOTO 1 43: GOTO 1 44: 45: SUB LoadPal (f$) 46: OPEN f$ FOR INPUT AS #1 47: q = 1 48: DO UNTIL EOF(1) 49: INPUT #1, Pal(q) 50: q = q + 1 51: LOOP 52: PALETTE USING Pal(1) 53: CLOSE 1 54: END SUB 55: 56: SUB SaveScreen (f$) 57: DEF SEG = &HA000 58: BSAVE f$, 0, 64000 59: END SUB 60: |