home *** CD-ROM | disk | FTP | other *** search
- 'COPYRIGHT(c) 1993 Crady vonPawlak ALL RIGHTS RESERVED
-
- 'Window demo version 5.50 1992
-
- ' Warning! This program will run ONLY with QBAccel rel 2.01 (or later)
- ' and Microsoft QuickBASIC 4.5 (or later).
-
- ' From the DOS command line, load as follows:
- ' QB DEMOWIND /AH/l QBaccel (then press ENTER)
-
-
- ' (QBAccel libraries must be in QuickBASIC directory. Thank you).
-
- 'For explanations on the following see the ACCEL.COM on-screen documentation.
-
-
- DEFINT A-Z
- SHELL "cls"
-
- COLOR 15, 1: CLS
-
- 'Bricks in sunlight
- CALL Bricks(71, 12, 23)
-
- 'Mortar cap on top of wall
- LOCATE 10, 1: CALL ZiPrint("████████████████████████████████████████████████████████████████████████████████", 23)
-
- 'Bricks in shadows
- CALL Bricks(8, 11, 11)
-
- 'Add some "grass" at base of wall
- CALL FastFlood(24, 25, 1, 80, 10, 0, 206)
-
- 'Show the logo
- LOCATE 2, 1: CALL ZiPrint(" ████████████ █████████ ▄██████▄ ██████████ ██████████ █████████ ███ ", 25)
- LOCATE 3, 1: CALL ZiPrint(" ███ ███ ███ ███ ███ ███ ███ ▀▀▀ ███ ▀▀▀ ███ ███ ", 25)
- LOCATE 4, 1: CALL ZiPrint(" ███ ███ ██████████ ██████████ ███ ███ ███████ ███ ", 25)
- LOCATE 5, 1: CALL ZiPrint(" ███ ▄▄▄███ ███ ███ ███ ███ ███ ▄▄▄ ███ ▄▄▄ ███ ███ ", 25)
- LOCATE 6, 1: CALL ZiPrint(" ████████████ ██████████ ███ ███ ██████████ ██████████ █████████ █████████ ", 25)
- LOCATE 7, 1: CALL ZiPrint(" ▀▀▀ ", 25)
- LOCATE 2, 74: CALL ZiPrint("TM", 23)
-
- 'Make logo look 3-D
- 'Q
- LOCATE 3, 6: CALL ZiPrint("▀▀▀▀▀▀", 16)
-
- 'B
- LOCATE 3, 19: CALL ZiPrint("▀▀▀", 16)
- LOCATE 5, 19: CALL ZiPrint("▀▀▀▀", 16)
-
- 'A
- LOCATE 3, 30: CALL ZiPrint("▀▀▀▀", 16)
- LOCATE 5, 30: CALL ZiPrint("▀▀▀▀", 16)
-
- 'C
- LOCATE 3, 41: CALL ZiPrint("▀▀▀▀", 16)
- LOCATE 3, 45: CALL ZiPrint("▀▀▀", 9)
-
- 'C
- LOCATE 3, 52: CALL ZiPrint("▀▀▀▀", 16)
- LOCATE 3, 56: CALL ZiPrint("▀▀▀", 9)
-
- 'E
- LOCATE 3, 63: CALL ZiPrint("▀▀▀▀▀▀", 16)
- LOCATE 5, 63: CALL ZiPrint("▀▀▀▀", 16)
-
- LOCATE 7, 1: CALL ZiPrint(" ▀▀▀▀▀▀ ▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀", 16)
- LOCATE 7, 9: CALL ZiPrint("▀▀▀", 9)
-
- 'Add some clouds
- LOCATE 1, 1: CALL ZiPrint(" ▀▀▀████▄▄▄▄ ▀▀▀▀▀████████▀▀▀ ", 31)
- LOCATE 2, 25: CALL ZiPrint("▀", 31)
-
- LOCATE 2, 59: CALL ZiPrint("▀", 31)
- LOCATE 3, 1: CALL ZiPrint("▄█", 31)
- LOCATE 4, 1: CALL ZiPrint("██", 31)
-
- LOCATE 3, 6: CALL ZiPrint("▄▄", 15)
- LOCATE 4, 6: CALL ZiPrint("▀▀", 31)
- LOCATE 4, 8: CALL ZiPrint("▀▀", 31)
-
- LOCATE 4, 44: CALL ZiPrint("▀▀▀██", 31)
- LOCATE 4, 52: CALL ZiPrint("██▄▄▄▄▄▄", 31)
-
- LOCATE 5, 48: CALL ZiPrint("█", 31)
- LOCATE 5, 52: CALL ZiPrint("▀▀▀▀", 31)
-
- LOCATE 7, 77: CALL ZiPrint("▄▄██", 15)
- LOCATE 8, 76: CALL ZiPrint("▀▀▀██", 31)
-
- 'And finally, a railing along top of wall
- LOCATE 9, 1: CALL ZiPrint("──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──", 16)
-
- PCOPY 0, 1
-
- CALL Ticks(18)
- CALL GroWindow(7, 73, 13, 21, 3, 1, "r", 7, 15, 5, " QBAccel(TM) 2.01 Copyright(c)1993 For QuickBASIC(TM) 4.5", 1, 0, 0, 0)
- FOR Row = 14 TO 20
- LOCATE Row, 8: CALL ZiPrint("█", 120)
- NEXT
-
- LOCATE 14, 9: CALL ZiPrint("▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀", 120)
-
- LOCATE 15, 11: CALL ZiPrint("This is a demonstration of some of the text functions that", 112)
- LOCATE 16, 11: CALL ZiPrint("are available using QBAccel, the multifunction library for", 112)
- LOCATE 17, 11: CALL ZiPrint("Microsoft(TM) QuickBASIC. Windowing is only one of many one-", 112)
- LOCATE 18, 11: CALL ZiPrint("line commands within QBAccel. SVGA functions, binary math,", 112)
- LOCATE 19, 11: CALL ZiPrint("and much more are availble within the QBAccel library!", 112)
- LOCATE 21, 21: CALL ZiPrint("After demo begins, press any key to Exit", 95)
-
- x = 20: 'Allow 20 seconds to read message and display counts
-
- DO
- q! = TIMER
- LOCATE 20, 11: CALL ZiPrint("This demonstration will begin in" + STR$(x) + " seconds... ", 127)
- x = x - 1: IF x < -1 THEN EXIT DO
- DO: LOOP UNTIL TIMER - q! >= 1
- LOOP
-
- PCOPY 1, 0
- CALL Ticks(18)
- CALL FastFlood(1, 25, 1, 80, 7, 7, 219)
-
- q! = TIMER
- DO: LOOP UNTIL TIMER - q! >= 1
-
- 'Main random window generator.
- CALL WipeKBD
- DO
- GOSUB resets
- GOSUB l
- GOSUB t
- GOSUB b
- GOSUB br
- GOSUB ss
- GOSUB bk
- GOSUB brc
- GOSUB bbk
- GOSUB acc
- GOSUB s
-
- IF (r / 2) = INT(r / 2) AND (t > 1) AND (l > 2) AND (b < 24) THEN
- tob = 1
- t = t + 1
- ELSE tob = 0
- END IF
-
- IF tob = 0 AND t > 24 THEN t = 24
-
- IF ((acc / 2) = (INT(acc / 2))) THEN
- GOSUB WindowSetI
- ELSE GOSUB WindowSetII
- END IF
-
- count& = count& + 1
- LOOP UNTIL INKEY$ > ""
- GOTO ok
-
- l:
- GOSUB resets
- l = INT((60 - 0) * RND + 1)
- r = INT((81 - 10) * RND + 10)
- IF r <= l + 3 THEN r = l + 3
- IF r > 80 THEN r = 80
- RETURN
-
- t:
- t = INT((16 - 1) * RND + 1)
- IF t > 17 THEN t = 17
- IF t < 1 THEN t = 1
- RETURN
-
- b:
- b = INT((25 - 0) * RND + 1)
- IF b <= t + 3 THEN b = t + 3
- IF b > 25 THEN b = 25
- RETURN
-
- br:
- br = INT((4 - 0) * RND + 0)
- IF br > 3 THEN br = 3
- RETURN
-
- s:
- s = INT((2 - 0) * RND + 1)
- IF (r < 78) AND (l > 2) AND (t > 2) AND (b < 23) THEN
- s = s
- ELSE s = 0
- END IF
- RETURN
-
- ss:
- t$ = ""
- q = INT((3 - 0) * RND + 0)
- IF q > 1 THEN s$ = "l"
- IF q < 1 THEN s$ = "r"
- IF q > 1 AND r - l > 30 THEN t$ = "QBAccel!": s$ = "l"
- IF q < 1 AND r - l > 30 THEN t$ = "QBAccel!": s$ = "r"
- RETURN
-
- bk:
- bk = INT((31 - 0) * RND + 0)
- RETURN
-
- brc:
- ask = INT((254 - 16) * RND + 16)
- brc = INT((31 - 0) * RND + 0)
- RETURN
-
- acc:
- acc = INT((255 - 1) * RND + 0)
- IF acc = 7 THEN acc = 176
- RETURN
-
- bbk:
- GOSUB resets
- bbk = INT((31 - 0) * RND + 0)
- RETURN
-
- resets:
- 'Make truly random by adding an increasing variable
- RANDOMIZE (TIMER * count&) / .5
- RETURN
-
- ok:
- CALL Curtains(1)
- LOCATE 1, 1: CALL ZiPrint(" A total of" + STR$(count&) + " windows were created and displayed.", 31)
- LOCATE 10, 1
- CALL ZiPrint(" QBAccel(TM) COPYRIGHT(c)1993 Crady vonPawlak U.S.A. All Rights Reserved ", 112)
- CALL GroWindow(16, 64, 13, 21, 1, 1, "r", 7, 15, 1, " ", 1, 0, 0, 0)
- LOCATE 21, 24: CALL ZiPrint("┤ Allow 2-6 weeks for delivery ├", 31)
-
- FOR Row = 14 TO 20
- LOCATE Row, 17: CALL ZiPrint("█", 120)
- NEXT
-
- LOCATE 14, 18: CALL ZiPrint("▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀", 120)
-
- CALL WipeKBD
-
- LOCATE 15, 21: CALL ZiPrint("Order your registered copy by sending", 112)
- LOCATE 16, 21: CALL ZiPrint("US$25.00 plus US$10.00 and a formatted", 112)
- LOCATE 17, 34: CALL ZiPrint("diskette to:", 112)
-
- LOCATE 18, 26: CALL ZiPrint("Crady vonPawlak / QBAccel", 112)
- LOCATE 19, 32: CALL ZiPrint("1010 Park Drive", 112)
- LOCATE 20, 30: CALL ZiPrint("Everett, WA 98203 USA", 112)
-
- CALL WipeKBD
-
- CALL Rain("Demonstration complete.", 15, 1, 13, 19, 1)
- CALL WipeKBD
-
- CALL Stack("Returning to DOS.", 9, 0, 22, 33, 66, 1)
-
- LOCATE 24, 12: CALL ZiPrint(" Bank drafts or certified checks ONLY, please. Thank you! ", 138)
-
- CALL WipeKBD
- LOCATE 7, 1
- END: '.........................End of program................................
-
- WindowSetI:
- IF b > 23 OR l < 3 OR r > 78 OR t < 2 THEN s = 0
- IF r - l < 16 AND b - t > 16 THEN CALL GroWindow(l, r, t, b, br, s, s$, bk, brc, bbk, "", 3, 0, tob, acc)
- IF r - l > 40 AND b - t > 10 AND s$ > "" THEN
- CALL GroWindow(l, r, t, b, br, s, s$, bk, brc, bbk, t$, 3, 0, tob, acc)
- ELSE CALL GroWindow(l, r, t, b, br, s, s$, bk, brc, bbk, t$, 1, 0, tob, acc)
- END IF
-
- IF r - l > 20 AND b - t > 10 AND r - l < 70 AND b - t < 22 THEN
- CALL FastFlood(t + 1, b - 1, l + 1, r - 1, brc, bk, ask)
- set = 1
- END IF
-
- IF (set = 1) AND ((acc / 3) = INT(acc / 3)) THEN
- FOR s = t TO b - 2
- CALL ScrollDn(1, (16 * bk) + brc, t - 1, l - 1, b - 2, r - 1)
- CALL Ticks(1)
- NEXT
- END IF
- set = 0
- RETURN
-
- WindowSetII:
- IF b > 23 OR l < 3 OR r > 78 OR t < 2 THEN s = 0
- IF r - l < 16 AND b - t > 16 THEN CALL GoWindow(l, r, t, b, br, s, s$, bk, brc, bbk, "", 3, 0, tob, acc)
- IF r - l > 40 AND b - t > 10 AND s$ > "" THEN
- CALL GoWindow(l, r, t, b, br, s, s$, bk, brc, bbk, t$, 3, 0, tob, acc)
- ELSE CALL GoWindow(l, r, t, b, br, s, s$, bk, brc, bbk, t$, 1, 0, tob, acc)
- END IF
-
- IF r - l > 20 AND b - t > 10 AND r - l < 70 AND b - t < 22 THEN
- CALL FastFlood(t + 1, b - 1, l + 1, r - 1, brc, bk, ask)
- set = 1
- END IF
-
- IF (set = 1) AND ((acc / 3) = INT(acc / 3)) THEN
- FOR s = t TO b - 2
- CALL ScrollUp(1, (16 * bk) + brc, t, l - 1, b - 1, r - 1)
- CALL Ticks(1)
- NEXT
- END IF
- set = 0
- RETURN
-
-
-