5748150 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n picout.bas
   1: DECLARE SUB MakeGrid (Acuracy!)
   2: DIM SHARED WhatISee(0 TO 9000) AS INTEGER
   3: SCREEN 13
   4: LINE (0, 0)-(160, 200), 12, BF
   5: LINE (161, 0)-(320, 200), 4, BF
   6: CIRCLE (160, 50), 25, 15
   7: LINE (160, 72)-(160, 135)
   8: LINE (160, 135)-(140, 155)
   9: LINE (160, 135)-(180, 155)
  10: LINE (160, 95)-(140, 80)
  11: LINE (160, 95)-(180, 80)
  12: MakeGrid 100
  13: 
  14: 20 CLS
  15: FOR q = 0 TO 9000 STEP 3
  16: IF WhatISee(q) = 0 THEN  ELSE PSET (WhatISee(q + 1), WhatISee(q + 2)), WhatISee(q): c = c + 1
  17: NEXT q
  18: LOCATE 1, 1: PRINT "Total instructions: "; c
  19: END
  20: RESUME NEXT
  21: 
  22: SUB MakeGrid (Acuracy)
  23: ON ERROR GOTO 20
  24: DIM BackCnt(15) AS INTEGER
  25: sz = ABS(Acuracy - 100) + 1
  26: DEF SEG = &HA000
  27: FOR x = 0 TO 320 STEP sz
  28: FOR y = 0 TO 200 STEP sz
  29: c = POINT(x + sz, y)
  30: IF c <= 0 THEN GOTO 10
  31: LINE (x, y)-(x + sz - 1, y + sz - 1), c, B
  32: IF c = Bg THEN BackCnt(c) = BackCnt(c) + 1 ELSE WhatISee(Cnt) = c: WhatISee(Cnt + 1) = x: WhatISee(Cnt + 2) = y: Cnt = Cnt + 3: BackCnt(c) = BackCnt(c) + 1
  33: 10 NEXT y
  34: FOR m = 0 TO 15
  35: IF BackCnt(m) > BigNum THEN BigNum = BackCnt(m): Bg = m
  36: BackCnt(m) = 0
  37: NEXT m
  38: FOR z = (Cnt - INT(600 / sz)) TO (Cnt - INT(600 / sz)) + 600 STEP 3
  39: IF WhatISee(z) = Bg THEN WhatISee(z) = 0
  40: NEXT z
  41: BigNum = 0
  42: NEXT x
  43: END SUB
  44: 
5748151 [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:07:24