'===========================================================================
' Subject: COLOR PRINT SUBROUTINE             Date: 12-07-97 (21:05)       
'  Author: John Charles Bull III              Code: QB, QBasic, PDS        
'  Origin: vividbarrier@hotmail.com         Packet: TEXT.ABC
'===========================================================================
DECLARE SUB ColPRINT (text$, max%)

' /........................\ Vivid Barrier Software 1997
' ..oO..oOo.oOo..vivid...... QBasic 4.5x Useful SUB Procedures
' ..oO.oOo..oOo....barrier.. by John Charles Bull III
' ..oO.oOo..oOOOOo..=O97O=..
' ..oOoOo...oOo.oOo......... http://pages.prodigy.net/wyzel/
' ..oOOo....oOOOOo..........               
' \......................../ Phantom's Land RPG (made in 100% QBasic 4.5x)
'
' ColPRINT will let you change the color within the string itself.
' The colors are the same as the basic colors (0-15).  To change the color
' put a PIPE in front of it.  It's like coding an old Iniquity or Renegade
' PIPE COLOR ANSI.
'
' ColPRINT (text$,max%)     - Print the string on the screen, w/o a CR
' ColPRINT (text$,99)       - Print the string on the screen with a CR

CLS                                               ' clear the screen

' show that fancy logo
CALL ColPRINT("|01/........................\", 99)
CALL ColPRINT("|01..|09o|11O|01..|09o|11O|09o|01.|09o|11O|09o|01..|09vivid|01......", 99)   ' in all kinds of perty
CALL ColPRINT("|01..|09o|11O|01.|09o|11O|09o|01..|09o|11O|09o|01....|09barrier|01..", 99)   ' colors
CALL ColPRINT("|01..|09o|11O|01.|09o|11O|09o|01..|09o|11OOOO|09o|01..|09=O97O=|01..", 99)
CALL ColPRINT("|01..|09o|11O|09o|11O|09o|01...|09o|11O|09o|01.|09o|11O|09o|01.........", 99)
CALL ColPRINT("|01..|09o|11OO|09o|01....|09o|11OOOO|09o|01..........", 99)
CALL ColPRINT("|01\......................../", 99)

END                                             ' it all has to end some day

REM $DYNAMIC
DEFINT A-Z
SUB ColPRINT (a$, max)
b = 0
c1 = 7
c2 = 0
DO
gain:
	b = b + 1
       
	a = LEN(a$)
	z$ = LEFT$(a$, b)
	z$ = RIGHT$(z$, 1)
      
	IF z$ = "|" THEN
		b = b + 2
		z$ = LEFT$(a$, b)
		z$ = RIGHT$(z$, 2)
	      
		IF z$ = "00" THEN c1 = 0
		IF z$ = "01" THEN c1 = 1
		IF z$ = "02" THEN c1 = 2
		IF z$ = "03" THEN c1 = 3
		IF z$ = "04" THEN c1 = 4
		IF z$ = "05" THEN c1 = 5
		IF z$ = "06" THEN c1 = 6
		IF z$ = "07" THEN c1 = 7
		IF z$ = "08" THEN c1 = 8
		IF z$ = "09" THEN c1 = 9
		IF z$ = "10" THEN c1 = 10
		IF z$ = "11" THEN c1 = 11
		IF z$ = "12" THEN c1 = 12
		IF z$ = "13" THEN c1 = 13
		IF z$ = "14" THEN c1 = 14
		IF z$ = "15" THEN c1 = 15
	       
		COLOR c1
		GOTO gain
		      
	END IF
      
	IF b = LEN(a$) OR b >= LEN(a$) OR b = max OR b >= max THEN
		PRINT z$;
	ELSE
		PRINT z$;
	END IF

LOOP UNTIL b = LEN(a$) OR b >= LEN(a$) OR b = max OR b >= max
IF max = 99 THEN PRINT ""
END SUB
