5748272 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n picout2.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: 20 CLS
  14: FOR q = 0 TO 9000 STEP 3
  15: IF WhatISee(q) = 0 THEN  ELSE PSET (WhatISee(q + 1), WhatISee(q + 2)), WhatISee(q)
  16: NEXT q
  17: END
  18: RESUME NEXT
  19: 
  20: SUB MakeGrid (Acuracy)
  21: 'ON ERROR GOTO 20
  22: DIM BackCnt(15) AS INTEGER
  23: sz = ABS(Acuracy - 100) + 1
  24: DEF SEG = &HA000
  25: FOR x = 0 TO 320 STEP sz
  26: FOR y = 0 TO 200 STEP sz
  27: c = POINT(x + sz, y)
  28: IF c <= 0 THEN GOTO 10
  29: LINE (x, y)-(x + sz - 1, y + sz - 1), c, B
  30: 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
  31: 10 NEXT y
  32: FOR m = 0 TO 15
  33: IF BackCnt(m) > BigNum THEN BigNum = BackCnt(m): Bg = m
  34: NEXT m
  35: 
  36: FOR z = ((y + ((x) * 320)) - 200) TO ((y + ((x - 1) * 320)) - 200) + 600 STEP 3
  37: IF z < 0 THEN z = 0
  38: IF WhatISee(z) = Bg THEN WhatISee(z) = 0: LOCATE 1, 1: PRINT ((y + ((x - 1) * 320)) - 200)
  39: NEXT z
  40: 
  41: FOR m = 0 TO 15: BackCnt(Bg) = 0: NEXT m
  42: BigNum = 0
  43: NEXT x
  44: END SUB
  45: 
5748273 [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:25