home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1993 February
/
1993-02.d64
/
button.demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
5KB
|
164 lines
10 rem load and activate program:
20 if x=0 then x=1:load"button64.ml",8,1
30 sys 49152:poke 53280,0:poke 53281,15
40 rem setup screen and menus
50 printchr$(14)"[147][205][197][206][213][160][212][197][205][208][204][193][212][197] ";
60 print"[198]ile [167][204]ayout [167][212]ools [167][207]ptions [146]";
70 print" [144]^[157][221][157][157][157][195]lick on these to test menus."
80 print"[195]lick on these":print"to test buttons [144][192][192]>"
90 printtab(21)"[145][145][159][176][192][192][192][192][192][192][192][192][192][192][192][174]"
100 printtab(21)"[159][221][144][164][146] [194]utton #1[159][221]"
110 printtab(21)"[159][221][144][164][146] [194]utton #2[159][221]"
120 printtab(21)"[159][221][144][164][146] [194]utton #3[159][221]"
130 printtab(21)"[159][173][192][192][192][192][192][192][192][192][192][192][192][189]"
140 print" [159][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
150 print" [159][221] [144]<[146][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][219][192][192][192][192][192][192][192][192][192][192][192][144]>[146] 15[159][221]"
160 print" [159][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][144]"
170 print"^[157][221][157][221][157][157][157][195]lick on this to test slider."
180 sl=15
190 sys 49653 : rem save screen to buffer
200 gosub 1570 : rem get a point
210 rem test for known points
220 if y<>1 then 270
230 if x<8 then 320:rem files
240 if x>7 and x<16 then 840:rem layout
250 if x>15 and x<24 then 990:rem tools
260 if x>23 then 1070:rem options
270 if x=22 and y=9 then 1150:rem b1
280 if x=22 and y=10 then 1230:rem b2
290 if x=22 and y=11 then 1310:rem b3
300 if y=17 then 1390 : rem slider
310 goto 190
320 rem file menu was chosen
330 print"[204]oad [157][157][157][157][157][157][157][157][211]ave [144] [157][157][157][157][157][157][157][157][157]";
340 print"[206]ew [144] [157][157][157][157][157][157][157][157][157][196]ir [144] [157][157][157][157][157][157][157][157][157]";
350 print"[209]uit [144] [157][157][157][157][157][157][157][157][157]";
360 print"[144] [146]"
370 gosub 1570
380 if x<1 or x>8 then 440
390 if y=2 then 450 : rem load routine
400 if y=3 then 520 : rem save routine
410 if y=4 then 590 : rem new routine
420 if y=5 then 660 : rem dir routine
430 if y=6 then 730 : rem quit routine
440 sys 49709 : goto 190
450 gosub 1500
460 print"[217]ou pressed the"
470 print"[204][207][193][196] routine."
480 print"[144] [195][207][206][212][201][206][213][197] "
490 gosub 1570
500 if y<>11 or x<19 or x>28 then 490
510 sys 49709:goto 190
520 gosub 1500
530 print"[217]ou pressed the"
540 print"[211][193][214][197] routine."
550 print"[144] [195][207][206][212][201][206][213][197] "
560 gosub 1570
570 if y<>11 or x<19 or x>28 then 490
580 sys 49709:goto 190
590 gosub 1500
600 print"[217]ou pressed the"
610 print"[206][197][215] routine."
620 print"[144] [195][207][206][212][201][206][213][197] "
630 gosub 1570
640 if y<>11 or x<19 or x>28 then 490
650 sys 49709:goto 190
660 gosub 1500
670 print"[217]ou pressed the"
680 print"[196][201][210] routine."
690 print"[144] [195][207][206][212][201][206][213][197] "
700 gosub 1570
710 if y<>11 or x<19 or x>28 then 490
720 sys 49709:goto 190
730 gosub 1500
740 print"[193]re you sure you"
750 print"want to quit the"
760 print"program?"
770 print"[144] [217][197][211] [206][207] "
780 gosub 1570
790 if y<>11 then 780
800 if x>10 and x<16 then 830
810 if x>24 and x<29 then sys49709:goto 190
820 goto 780
830 sys 49633:poke 53280,14:poke 53281,6:print"[147][154]"chr$(142);:end
840 rem layout menu
850 print"[204]ayout 1[157][157][157][157][157][157][157][157][204]ayout 2[144] [157][157][157][157][157][157][157][157][157][204]ayout 3[144] ";
860 print"[157][157][157][157][157][157][157][157][157][204]ayout 4[144] [157][157][157][157][157][157][157][157][157][204]ayout 5[144] [157][157][157][157][157][157][157][157][157][204]ayout 6[144] ";
870 print"[157][157][157][157][157][157][157][157][157][204]ayout 7[144] [157][157][157][157][157][157][157][157][157][204]ayout 8[144] [157][157][157][157][157][157][157][157] "
880 gosub 1570
890 if x<9 or x>16 then 980
900 if y<2 or y>9 then 980
910 l=y-1
920 gosub 1500
930 print"[204]ayout #"l
940 print"was selected."
950 print"[144] [195][207][206][212][201][206][213][197] "
960 gosub 1570
970 if y<>11 or x<19 or x>28 then 960
980 sys 49709:goto 190
990 rem tools menu
1000 gosub 1500
1010 print"[212]he [212]ools menu"
1020 print"was selected."
1030 print"[144] [195][207][206][212][201][206][213][197] "
1040 gosub 1570
1050 if y<>11 or x<19 or x>28 then 960
1060 sys 49709:goto 190
1070 rem options menu
1080 gosub 1500
1090 print"[212]he [207]ptions menu"
1100 print"was selected."
1110 print"[144] [195][207][206][212][201][206][213][197] "
1120 gosub 1570
1130 if y<>11 or x<19 or x>28 then 960
1140 sys 49709:goto 190
1150 rem button #1 was pressed
1160 gosub 1500
1170 print"[217]ou pressed"
1180 print"[194]utton #1."
1190 print"[144] [195][207][206][212][201][206][213][197] "
1200 gosub 1570
1210 if y<>11 or x<19 or x>28 then 960
1220 sys 49709:goto 190
1230 rem button #2 was pressed
1240 gosub 1500
1250 print"[217]ou pressed"
1260 print"[194]utton #2."
1270 print"[144] [195][207][206][212][201][206][213][197] "
1280 gosub 1570
1290 if y<>11 or x<19 or x>28 then 960
1300 sys 49709:goto 190
1310 rem button #3 was pressed
1320 gosub 1500
1330 print"[217]ou pressed"
1340 print"[194]utton #3."
1350 print"[144] [195][207][206][212][201][206][213][197] "
1360 gosub 1570
1370 if y<>11 or x<19 or x>28 then 960
1380 sys 49709:goto 190
1390 rem slider
1400 gosub1450
1410 if x=4 and sl>0 then gosub 1460:sl=sl-1:gosub1470:goto 1480
1420 if x=32 and sl<26 then gosub 1460:sl=sl+1:gosub1470:goto 1480
1430 if x>4 and x<32 then gosub1460:sl=x-5:gosub1470:goto1480
1440 goto 190
1450 print"";:return
1460 gosub1450:fort=0to sl+1:print"";:next:print"[192]";:return
1470 gosub1450:fort=0to sl+1:print"";:next:print"[219]";:return
1480 gosub1450:print"[157][157][157][157][157][157][157][157][157][157]";:if sl>9 then printsl"[157][159][221]":goto 190
1490 print" "sl"[157][159][221]":goto 190
1500 rem draw dialog box
1510 sys 49709 : rem load screen
1520 print" "
1530 for t=1 to 6:print" [144] ":next
1540 print"[144] "
1550 return
1560 rem ---------------------------
1570 rem get a screen coord from ml
1580 poke 49572,0
1590 if peek(49572)=0 then 1590
1600 x=peek(49571):y=peek(49570)
1610 poke 54296,15:poke 54296,0
1620 if peek(56320)<>127 then 1620
1630 return