10 REM *** LETTERBOX *** 20 REM Different Letter Styles and Boxes 30 REM By S.Johnson 40 REM October 1992 100 MODE1 110 REM Switch of CURSOR 120 VDU23,0,10,32,0,0,0,0,0,0 140 REM Change colour RED to BLUE 150 VDU19,1,4,0,0,0,0 160 : 170 REM *** DEMO *** 180 : 190 PROCoutline(280,950,"DIFFERENT LETTER STYLES",2,0) 200 PROCoutline(260,930,"________________________",2,1) 210 PROCoutline(50,830,"<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>",1,0) 220 PROCwide(50,750,"This program contains three procedures",3) 230 PROCwide(50,700,"for printing different letter styles.",3) 240 PROCwide(50,650,"They look far more impressive than the",3) 250 PROCwide(50,600,"standard BBC font.",3) 260 PROCwide(50,500,"The styles are :",3) 270 PROCoutline(100,400,"Outline",3,0) 280 PROCthreeD(400,400,"Three-Dimensional",3,1) 290 PROCwide(1050,400,"Wide",2) 300 PROCwide(50,300,"They are ideal for a menu or program",3) 310 PROCwide(50,250,"instruction page.",3) 320 PROCoutline(50,170,"<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>",1,0) 330 PROCthreeD(420,50,"Press Any Key",1,2) 340 G=GET 350 CLG 360 REM Restore default colours 370 VDU20 380 REM Change colour YELLOW to BLUE 390 VDU19,2,4,0,0,0,0 400 PROC3Dbox(50,700,200,1100,3,1) 410 PROCthreeD(100,850,"There is also a procedure for",0,3) 420 PROCthreeD(100,800,"Three-D boxes.",0,3) 430 PROCborder(50,450,200,1100,1,0,3) 440 PROCthreeD(100,600,"And Border boxes which can be",0,3) 450 PROCthreeD(100,550,"printed in any size or colour",0,3) 460 PROC3Dbox(50,50,300,300,3,2) 470 PROCborder(450,250,100,250,3,0,2) 480 PROCborder(450,50,150,700,3,0,1) 490 PROC3Dbox(800,250,100,300,1,3) 500 PROCthreeD(525,310,"BBC",0,3) 510 PROCthreeD(880,310,"8-Bit",0,2) 520 PROCoutline(675,140,"Software",3,2) 530 G=INKEY(300) 540 PROCthreeD(120,300,"PRESS",0,3) 550 PROCthreeD(150,230,"ANY",0,3) 560 PROCthreeD(150,160,"KEY",0,3) 570 G=GET 580 GCOL0,131 590 CLG 600 VDU20 610 PROCborder(300,700,75,75,0,3,1) 620 PROCborder(500,700,75,500,0,3,1) 630 PROCborder(300,500,75,75,0,3,1) 640 PROCborder(500,500,75,500,0,3,1) 650 PROCborder(300,300,75,75,0,3,1) 660 PROCborder(500,300,75,500,0,3,1) 670 PROCthreeD(320,745,"1",0,2) 680 PROCthreeD(520,745,"RUN DEMO",0,2) 690 PROCthreeD(320,545,"2",0,2) 700 PROCthreeD(520,545,"LIST PROGRAM",0,2) 710 PROCthreeD(320,345,"3",0,2) 720 PROCthreeD(520,345,"EXIT TO BASIC",0,2) 730 G=GET 740 VDU20 750 IF G=49 THEN :CLG: GOTO 150 760 IF G=50 THEN MODE3 :VDU23,1,1;0;0;0;:PRINT "Type LIST then press RETURN" 770 IF G=51 THEN CLG:VDU23,1,1;0;0;0;:*BASIC 780 IF G<49 OR G>51 THEN GOTO730 790 END 800 : 810 REM *** END OF DEMO *** 820 : 830 : 840 REM *** INSTRUCTIONS *** 850 REM *** AND *** 860 REM *** PROCEDURES *** 870 : 880 : 890 REM *** OUTLINE *** 900 : 910 REM PROCoutline(x%,y%,text$,c1%,c2%) 920 REM x% : Horizontal co-ordinate 930 REM y% : Vertical co-ordinate 940 REM text$ : Characters to be printed 950 REM c%1 : Colour one 960 REM c%2 : Colour two 970 : 980 : 1000 DEFPROCoutline(x%,y%,text$,c1%,c2%) 1010 VDU5 1020 GCOL0,c1% 1030 MOVEx%,y%:PRINTtext$ 1040 MOVEx%+5,y%:PRINTtext$ 1050 MOVEx%-5,y%:PRINTtext$ 1060 MOVEx%,y%+5:PRINTtext$ 1070 MOVEx%,y%-5:PRINTtext$ 1080 GCOL0,c2% 1090 MOVEx%,y%:PRINTtext$ 1100 VDU4 1110 ENDPROC 1120 : 1130 : 1140 REM *** THREE-D *** 1150 : 1160 REM PROCthreeD(x%,y%,text$,c1%,c2%) 1170 REM Same instructions as OUTLINE 1180 : 1190 : 1200 DEFPROCthreeD(x%,y%,text$,c1%,c2%) 1210 VDU5 1220 GCOL0,c1% 1230 MOVEx%,y%:PRINTtext$ 1240 GCOL0,c2% 1250 MOVEx%+7,y%+5:PRINTtext$ 1260 VDU4 1270 ENDPROC 1280 : 1290 : 1300 REM *** WIDE *** 1310 : 1320 : 1330 REM PROCwide(x%,y%,text$,c%) 1340 REM Same instructions as OUTLINE except that there is only one colour. 1350 : 1360 : 1370 DEFPROCwide(x%,y%,text$,c%) 1380 VDU5 1390 GCOL0,c% 1400 MOVEx%,y%:PRINTtext$ 1410 MOVEx%+4,y%:PRINTtext$ 1420 VDU4 1430 ENDPROC 1440 : 1450 : 1460 REM *** THREE-D BOX *** 1470 : 1480 REM PROC3Dbox(x%,y%,h%,w%,c1%,c2%) 1490 REM x%,y% : Horizontal and vertical co-ordinates for bottom left hand 1500 REM : of box 1510 REM h% : Height of box 1520 REM w% : Width of box 1530 REM c%1 : Colour one 1540 REM c%2 : Colour two 1550 : 1560 : 1570 DEFPROC3Dbox(x%,y%,h%,w%,c1%,c2%) 1580 GCOL0,c1% 1590 MOVEx%,y% 1600 PLOT97,w%,h% 1610 GCOL0,c2% 1620 MOVEx%+10,y%+10 1630 PLOT97,w%,h% 1640 ENDPROC 1650 : 1660 : 1670 REM *** BORDER BOX *** 1680 : 1690 REM PROCborder(x%,y%,h%,w%,c1%,c2%,c3%) 1700 REM Same as THREE-D BOX except that there is three colours. 1710 : 1720 DEFPROCborder(x%,y%,h%,w%,c1%,c2%,c3%) 1730 GCOL0,c1% 1740 MOVEx%,y% 1750 PLOT97,w%,h% 1760 GCOL0,c2% 1770 MOVEx%+5,y%+5 1780 PLOT97,w%-10,h%-10 1790 GCOL0,c3% 1800 MOVEx%+10,y%+10 1810 PLOT97,w%-20,h%-20 1820 ENDPROC