5748309 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n raw13.bas
   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: 
5748310 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:08:15