5748355 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n ddraw13.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: IF INSTR(f$, ".") = 0 THEN f$ = f$ + ".pa2"
  11: CLS
  12: LoadPal f$
  13: 1 d$ = INKEY$
  14: IF d$ = "" THEN
  15: a = INT(RND * 4)
  16: IF a = 0 THEN a$ = CHR$(0) + "M"
  17: IF a = 1 THEN a$ = CHR$(0) + "K"
  18: IF a = 2 THEN a$ = CHR$(0) + "P"
  19: IF a = 3 THEN a$ = CHR$(0) + "H"
  20: ELSE a$ = d$
  21: END IF
  22: IF a$ = "" THEN GOTO 1
  23: RANDOMIZE TIMER + a - VAL(DATE$) + VAL(TIME$)
  24: IF a$ = CHR$(0) + "M" AND Vert < 319 THEN Vert = Vert + 1
  25: IF a$ = CHR$(0) + "K" AND Vert > 0 THEN Vert = Vert - 1
  26: IF a$ = CHR$(0) + "P" AND Horz < 199 THEN Horz = Horz + 1
  27: IF a$ = CHR$(0) + "H" AND Horz > 0 THEN Horz = Horz - 1
  28: IF a$ = CHR$(27) THEN SaveScreen "One.BSV"
  29: IF POINT(Horz, Vert) = Horz THEN GOTO 1
  30: IF a$ = "" THEN END
  31: 'IF C < 240 THEN C = C + 1 ELSE C = 2
  32: C = Horz * 1.299999999#
  33: 'PSET (Vert - 1, Horz - 1), C
  34: 'PSET (Vert - 1, Horz + 1), C
  35: PSET (Vert + 1, Horz + 1), C
  36: PSET (Vert + 1, Horz - 1), C
  37: PSET (Vert, Horz + 1), C
  38: PSET (Vert, Horz - 1), C
  39: PSET (Vert + 1, Horz), C
  40: PSET (Vert - 1, Horz), C
  41: IF Horz < 199 AND Vert < 319 THEN PSET (Vert, Horz), C ELSE GOTO 1
  42: GOTO 1
  43: 
  44: SUB LoadPal (f$)
  45: OPEN f$ FOR INPUT AS #1
  46: q = 1
  47: DO UNTIL EOF(1)
  48: INPUT #1, Pal(q)
  49: q = q + 1
  50: LOOP
  51: PALETTE USING Pal(1)
  52: CLOSE 1
  53: END SUB
  54: 
  55: SUB SaveScreen (f$)
  56: DEF SEG = &HA000
  57: BSAVE f$, 0, 64000
  58: END SUB
  59: 
5748356 [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:01:36