10 REM >Step3 20 REM by Steven Flintham 30 REM 40 REM Sunday 4th April 1993 50 : 60 MODE 4 70 VDU 23;8202;0;0;0; 80 PROCdisable 90 PROCinit 100 REPEAT 110 choice%=FNmenu 120 UNTIL choice%=5 130 MODE 7 140 PROCenable 150 END 160 : 170 DEF PROCdisable 180 *FX229,1 190 *FX4,1 200 ENDPROC 210 : 220 DEF PROCenable 230 *FX229 240 *FX4 250 ENDPROC 260 : 270 DEF PROCinit 280 ON ERROR MODE 7:REPORT:PRINT " at line ";ERL:PROCenable:END 290 DIM block% 8 300 ENDPROC 310 : 320 DEF FNmenu 330 LOCAL choice%,key% 340 PROCtitle 350 PRINTTAB(3,4);"Option 1" 360 PRINTTAB(3,5);"Option 2" 370 PRINTTAB(3,6);"Option 3" 380 PRINTTAB(3,7);"Option 4" 390 PRINTTAB(3,8);"Option 5" 400 PRINTTAB(3,9);"Quit this program" 410 PRINTTAB(0,11);"Use the cursor keys to move the bar and"'"press RETURN to select" 420 choice%=0 430 PROCdraw_bar(choice%) 440 REPEAT 450 *FX21 460 key%=GET 470 PROCdraw_bar(choice%) 480 IF key%=138 THEN IF choice%<5 THEN choice%=choice%+1 490 IF key%=139 THEN IF choice%>0 THEN choice%=choice%-1 500 PROCdraw_bar(choice%) 510 UNTIL key%=13 520 =choice% 530 : 540 DEF PROCdraw_bar(choice%) 550 LOCAL y% 560 GCOL 4,1 570 FOR y%=1020-((choice%+4)*32) TO (1020-((choice%+4)*32)-28) STEP -4 580 MOVE 0,y% 590 DRAW 1276,y% 600 NEXT 610 ENDPROC 620 : 630 DEF PROCtitle 640 VDU 26,12 650 COLOUR 0:COLOUR 129 660 PROCdouble_height(" Menu demonstration ",10,0) 670 COLOUR 1:COLOUR 128 680 PRINTTAB(8,2);"(C) Steven Flintham 1993" 690 ENDPROC 700 : 710 DEF PROCdouble_height(text$,x%,y%) 720 LOCAL pos%,A%,X%,Y% 730 VDU 31,x%,y% 740 FOR pos%=1 TO LEN(text$) 750 block%?0=ASC(MID$(text$,pos%,1)) 760 A%=10 770 X%=block% MOD 256 780 Y%=block% DIV 256 790 CALL &FFF1 800 VDU 23,255,0,block%?1,block%?1,block%?2,block%?2,block%?3,block%?3,block%?4,255,8,10,23,255,block%?4,block%?5,block%?5,block%?6,block%?6,block%?7,block%?7,block%?8,255,11 810 REM VDU 23,255,block%?1,block%?1,block%?2,block%?2,block%?3,block%?3,block%?4,block%?4,255,8,10,23,255,block%?5,block%?5,block%?6,block%?6,block%?7,block%?7,block%?8,block%?8,255,11 820 NEXT 830 ENDPROC