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