'=========================================================================== ' Subject: SCREEN 13 WIPING ROUTINES Date: 05-01-97 (22:14) ' Author: Aaron Koehl Code: QB, QBasic, PDS ' Origin: akoehl@ccsinc.com Packet: GRAPHICS.ABC '=========================================================================== DECLARE SUB Logo () ' RELEASED TO PUBLIC DOMAIN 5-1-97 ' Scenix Designs Incorporated ' Aaron Koehl - akoehl@ccsinc.com '-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- DECLARE SUB Intro () DECLARE SUB Center (Text$, Res) DECLARE SUB Wipe13 (Action$) Intro FOR Temp = 1 TO 63 OUT &H3C8, Temp OUT &H3C9, Temp OUT &H3C9, 0 OUT &H3C9, Temp NEXT COLOR 63: GOSUB DrawStuff Wipe13 "darken": PRINT "Darken": A$ = INPUT$(1): GOSUB DrawStuff Wipe13 "vertical": PRINT "Vertical": A$ = INPUT$(1): GOSUB DrawStuff Wipe13 "horizontal": PRINT "Horizontal": A$ = INPUT$(1): GOSUB DrawStuff Wipe13 "crosswipe": PRINT "Crosswipe": A$ = INPUT$(1): GOSUB DrawStuff Wipe13 "interlace": PRINT "Interlace": A$ = INPUT$(1): GOSUB DrawStuff Wipe13 "dots": PRINT "Dots": A$ = INPUT$(1): GOSUB DrawStuff Wipe13 "junk": PRINT "Junk": A$ = INPUT$(1): GOSUB DrawStuff Wipe13 "hole": PRINT "Hole": A$ = INPUT$(1): GOSUB DrawStuff Center "There is definitly more to come here.", 40 Center "Stay tuned for future editions!", 40 A$ = INPUT$(1) SCREEN 0: WIDTH 80: PALETTE: CLS Center "SCREEN 13 WIPING ROUTINES", 80: COLOR 14 Center "RELEASED TO PUBLIC DOMAIN 5-1-97", 80: COLOR 15 Center "Scenix Designs Incorporated", 80 Center "Aaron Koehl - akoehl@ccsinc.com", 80: PRINT END DrawStuff: Flag = 1 FOR Temp = 0 TO 200 Clr = Clr + Flag IF Clr = 0 OR Clr = 63 THEN IF Flag = 1 THEN Flag = -1 ELSE Flag = 1 LINE (0, Temp)-STEP(320, 0), Clr NEXT A$ = INPUT$(1) LOCATE 1, 1 RETURN SUB Center (Text$, Res) LOCATE CSRLIN, (Res - LEN(Text$)) \ 2 PRINT Text$ END SUB SUB Intro SCREEN 0: COLOR 10, 0: CLS PRINT STRING$(7, 13) Center "SCREEN 13 WIPING ROUTINES", 80: COLOR 14 Center "RELEASED TO PUBLIC DOMAIN 5-1-97", 80: COLOR 15 Center "Scenix Designs Incorporated", 80 Center "Aaron Koehl - akoehl@ccsinc.com", 80: PRINT A$ = INPUT$(1): Logo: CLS : PALETTE SCREEN 13: CLS : COLOR 14: PRINT Center "The Scenix logo appearing earlier", 40 Center "in this piece is (C)1997 SDI.", 40: PRINT : COLOR 10 Center "These routines are intended for", 40 Center "mature audiences. May contain", 40 Center "abusive language and/or sexual", 40 Center "references. Any and all questions", 40 Center "and comments may be submitted to:", 40: COLOR 15: PRINT Center "-= Aaron Koehl =-", 40: COLOR 14 Center "akoehl@ccsinc.com", 40: COLOR 10: PRINT : PRINT : PRINT : PRINT Center "Scenix Designs Incorporated", 40 A$ = INPUT$(1): SCREEN 0: WIDTH 80: COLOR 15, 0 Center "SCREEN 13 (320x200x256) Clear Routines", 80 Center "VERSION 1.0", 80: PRINT : PRINT COLOR 14: Center "SYNTAX", 80: PRINT : COLOR 10: Center "Wipe13 (Action$)", 80 COLOR 13: PRINT : Center "Where LCASE$(Action$) should be one of the following:", 80: PRINT COLOR 15: Center "darken", 80: Center "vertical", 80: Center "horizontal", 80 Center "crosswipe", 80: Center "interlace", 80: Center "dots", 80 Center "junk", 80: Center "hole", 80: PRINT : COLOR 13 Center "Stay tuned for future editions and optimizations", 80 Center "of these routines.", 80 COLOR 15: PRINT Center "[PRESS ANY KEY TO VIEW A DEMO OF THESE ROUTINES]", 80 A$ = INPUT$(1) CLS : SCREEN 13 END SUB SUB Logo ' IMPORTANT NOTE: ' The logo contained here in this code is ' (C)1997 Scenix Designs Inc. ' ' Questions and comments regarding this piece ' may be directed to: ' Scenix Designs Incorporated ' Aaron M. Koehl ' akoehl@ccsinc.com ' http://www.scenix-inc.com SCREEN 13: CLS VIEW PRINT FOR Temp = 1 TO 63 OUT &H3C8, Temp OUT &H3C9, Temp OUT &H3C9, Temp OUT &H3C9, 0 NEXT FOR Temp = 0 TO 160 Z = Z + Flag IF Z = 0 THEN Flag = 1 ELSE IF Z = 63 THEN Flag = -1 IF Temp MOD 2 = 0 THEN SOUND Temp + 300, .5 CIRCLE (Temp, 100), 100, Z CIRCLE (320 - Temp, 100), 100, Z FOR Temp2 = 1 TO 700: NEXT NEXT SOUND 490, 5 FOR Temp = 1 TO 54 FOR Temp2 = 1 TO 5000: NEXT COLOR Temp: LOCATE 2, 5 PRINT "(C) MCMXCVII Scenix Designs Inc." LOCATE 24, 15: PRINT "Aaron Koehl" NEXT A$ = INPUT$(1) GOTO 3 FOR Temp = 160 TO 0 STEP -1 CIRCLE (Temp, 100), 100, 0 CIRCLE (320 - Temp, 100), 100, 0 FOR Temp2 = 1 TO 700: NEXT NEXT 3 FOR Temp = 63 TO 1 STEP -1 PALETTE Temp, 0 FOR Temp2 = 1 TO 1700: NEXT NEXT END SUB SUB Wipe13 (Action$) SELECT CASE LCASE$(Action$) CASE "darken" ' Darken "WINDOWS 95" Effect FOR Temp = 0 TO 200 IF Temp MOD 2 = 0 THEN LINE (1, Temp)-STEP(320, 0), 0, , &HAAAA ELSE LINE (0, Temp)-STEP(320, 0), 0, , &HAAAA END IF NEXT CASE "vertical" ' Vertical slide FOR Temp = 0 TO 320 LINE (Temp, 0)-(Temp, 200), 0 FOR Temp2 = 1 TO 300: NEXT NEXT CASE "horizontal" ' Horizontal slide FOR Temp = 0 TO 200 LINE (0, Temp)-(320, Temp), 0 FOR Temp2 = 1 TO 300: NEXT NEXT CASE "crosswipe" ' Crossed wipe FOR Temp = 0 TO 320 LINE (Temp, 0)-(320 - Temp, 200), 0 FOR Temp2 = 1 TO 300: NEXT NEXT FOR Temp = 200 TO 0 STEP -1 LINE (0, Temp)-(320, 200 - Temp), 0 FOR Temp2 = 1 TO 300: NEXT NEXT CASE "interlace" FOR Temp2 = 0 TO 5 FOR Temp = Temp2 TO 320 STEP 5 LINE (Temp, 0)-(Temp, 200), 0 FOR Temp3 = 1 TO 100: NEXT NEXT NEXT CASE "dots" FOR Temp = 1 TO 5000 LINE (INT(RND * 320), INT(RND * 200))-STEP(5, 5), 0, BF NEXT CASE "junk" FOR Temp2 = 1 TO 100 LINE (INT(RND * 320) + 1, INT(RND * 200) + 1)-(INT(RND * 320) + 1, INT(RND * 200) + 1), 0 FOR Temp = 1 TO 200: PSET (INT(RND * 320) + 1, INT(RND * 200) + 1), 0: NEXT CIRCLE (INT(RND * 320) + 1, INT(RND * 200) + 1), INT(RND * 150) + 1, 0 NEXT CASE "hole" Temp2 = 200 FOR Temp = 320 TO 0 STEP -1 Temp2 = Temp2 - .625 LINE (Temp, Temp2)-(320 - Temp, 200 - Temp2), 0, B FOR Timelapse = 1 TO 300: NEXT NEXT END SELECT END SUB