'=========================================================================== ' Subject: COLOUR SHIFTED TEXT Date: 05-28-97 (14:06) ' Author: Frank W. Zammetti Code: QB, QBasic, PDS ' Origin: fzammett@fpsserv.com Packet: GRAPHICS.ABC '=========================================================================== SCREEN 0: CLS : WIDTH 40: DIM a(40) WhatDir = 2 LOCATE 21,1: COLOR 12 PRINT "(C)opyright 1997 by Frank W. Zammetti": PRINT PRINT "Use is as you wish..." PRINT "But please give me credit somewhere!"; a$ = "This is an ages-old effect that used to" b$ = " be popular on the C64. Now here it is" c$ = " on the PC! It is easy to change the" d$ = " direction of the colors (press SPACE)" e$ = " And it works in any mode! Enjoy!" GOTO Begin DATA 0,0,1,1,9,9,11,11,15,15,15,15,11,11,9,9,1,1,0,0 DATA 0,0,4,4,12,12,14,14,15,15,15,15,14,14,12,12,4,4,0,0 Begin: FOR z = 1 TO 40: READ a(z): NEXT z LoopMe: WAIT &h3da,8 FOR z = 1 TO 40: COLOR a(z) LOCATE 9, z, 0: PRINT MID$(a$, z, 1) LOCATE 11, z, 0: PRINT MID$(b$, z, 1) LOCATE 13, z, 0: PRINT MID$(c$, z, 1) LOCATE 15, z, 0: PRINT MID$(d$, z, 1) LOCATE 17, z, 0: PRINT MID$(e$, z, 1) NEXT z IF WhatDir = 2 THEN GOTO Yotate z = a(1) w = 1: y = 2 Zotate: LET a(w) = a(y) w = w + 1: y = y + 1 IF w <> 40 THEN GOTO Zotate a(40) = z: GOTO KeyLoop Yotate: z = a(40) w = 39: y = 40 Yotate1: LET a(y) = a(w) w = w - 1: y = y - 1 IF w <> 0 THEN GOTO Yotate1 a(1) = z KeyLoop: z$ = INKEY$ IF Z$ = CHR$(27) THEN GOTO EndMe IF z$ = " " THEN GOTO ChangeDir GOTO LoopMe ChangeDir: IF WhatDir = 2 THEN WhatDir = 1: GOTO LoopMe IF WhatDir = 1 THEN WhatDir = 2: GOTO LoopMe EndMe: SCREEN 0: CLS: WIDTH 80: PRINT "Goodbye!...": PRINT: PRINT PRINT "Frank W. Zammetti (fzammett@fpsserv.com)": PRINT: PRINT PRINT: END