'QUICKBASIC 4.5 DEMONSTRATION PROGRAM 'Page Flipping would make this even better! 'By Toshihiro Horie 'toshiman@uclink4.berkeley.edu '$INCLUDE: 'QB.BI' DIM SHARED regs AS RegType regs.ax% = 0 CALL INTERRUPT(&H33, regs, regs) MINIT% = regs.ax% IF MINIT% = 0 THEN PRINT "Error: Mouse not installed.": END SCREEN 9: CLS : DEFINT A-Z DIM g0(200), g1(200), g2(200) CIRCLE (10, 10), 8, 15 LINE (0, 0)-(20, 20), 15, B PAINT (19, 19), 15, 15 GET (0, 0)-(20, 20), g1 CLS CIRCLE (10, 10), 7, 15 PSET (8, 8), 15: PSET (12, 8), 15 CIRCLE (10, 14), 2, 14 GET (0, 0)-(20, 20), g2 CLS : LINE (0, 0)-(639, 349), 15, BF '** Graphics ** 'draw rings RANDOMIZE TIMER FOR a = 1 TO 100 X = INT(RND(1) * 640) Y = INT(RND(1) * 350) cb = INT(RND(1) * 16) cp = INT(RND(1) * 16) r = INT(RND(1) * 30) + 8 CIRCLE (X, Y), r, cb CIRCLE (X, Y), r - 5, cb PAINT (X + r - 3, Y), cp, cb NEXT a 'plot random points FOR B = 1 TO 20 X = INT(RND(1) * 640) Y = INT(RND(1) * 350) c = INT(RND(1) * 16) PSET (X, Y), c NEXT B 'random dotted lines FOR l = 1 TO 400 x1 = INT(RND(1) * 640) y1 = INT(RND(1) * 350) x2 = INT(RND(1) * 640) y2 = INT(RND(1) * 350) c = INT(RND(1) * 16) pattern = INT(RND(1) * 32768) LINE (x1, y1)-(x2, y2), c, , pattern NEXT DO regs.ax% = &H3 CALL INTERRUPT(&H33, regs, regs) X = INT(regs.cx * .96) Y = INT(regs.dx * .93) button = regs.bx 'X = INT(RND(1) * 610) 'Y = INT(RND(1) * 320) GET (X, Y)-(X + 20, Y + 20), g0: 'GET BACKGROUND SQUARE 'do a superimpose!!! Yay, finally figured it out! Toshi 95. PUT (X, Y), g1, AND PUT (X, Y), g2, OR IF button = 2 THEN EXIT DO IF button = 1 THEN GOTO 999 FOR t = 1 TO 10000: NEXT WAIT &H3DA, 8 PUT (X, Y), g0, PSET 999 LOOP WHILE INKEY$ = ""