home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Run Magazine ReRun 1985 Winter
/
rerun-1985-winter.d64
/
ultraquiz
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
4KB
|
158 lines
5 bo=53280:ba=53281
10 dimaa$(101),bb$(101),c$(101):goto37
20 fori=1to80:print" [146]";:next:return
30 poke781,r:poke782,c:poke783,peek(783)and254:sys65520:return
35 rem ***** main menu *****
37 pokebo,12:pokeba,12:print"[147][144]"
40 print"[144]":gosub20:print" 1-exit 2-load 3-save ";
45 gosub20:print" 4-edit 5-clear 6-print 7-quiz ";:gosub20
50 geta$:ifa$=""then50
55 a=asc(a$)-48:ifa<1ora>7then50
60 onagoto65,380,330,119,440,458,625
65 r=10:c=5:gosub30:print" are you sure ? (y/n)"
70 geta$:ifa$=""then70
75 ifa$="y"thenprint"[147]":end
80 goto37
118 rem ### edit menu ###
119 pokebo,1:pokeba,1:print"[147]":gosub20
120 print" 1-exit 2-enter 3-list 4-modify ";:gosub20
130 geta$:ifa$=""then130
140 a=asc(a$)-48:ifa<1ora>4then130
150 onagoto37,155,230,1000
151 rem #### input q+a ####
155 z=x:pokebo,1:pokeba,1
160 print"[147]":gosub20:print" 1-exit 2-enter question and answer ";:gosub20
170 r=9:c=0:gosub30
171 geta$:ifa$=""then171
172 ifa$="1"then119
173 ifa$="2"then175
174 goto171
175 z=z+1:x=x+1:ifx>101thenx=101:z=101:goto200
180 poke19,64:print"question #"z:inputaa$(z):poke19,0
185 ifaa$(z)=""thenz=z-1:x=x-1:goto160
190 poke19,64:print:print"answer #"z:inputbb$(z):poke19,0
195 ifbb$(z)=""thenz=z-1:x=x-1:goto160
199 goto160
200 print"buffer full":fori=1to1500:next:goto119
210 goto160
215 rem ### list ###
230 pokebo,1:pokeba,1:print"[147][144]":r=24:c=0:gosub30
240 forz=1tox
245 printz;aa$(z):wait653,1,1
250 printz;bb$(z):wait653,1,1
252 fori=1to150:nexti:nextz
260 print" hit return to exit ";
270 ifpeek(197)=1thenpoke198,0:goto119
275 goto270
328 rem ##### save #####
330 print"[147][151]"
335 gosub20:print" 1-exit 2-tape 3-disk ";:gosub20
337 print" save [146]";
340 geta$:ifa$=""then340
342 ifa$="1"thengoto37
345 r=10:c=0:gosub30:poke19,64:input"file name ";n$:print:poke19,0
350 ifa$="2"thenopen2,1,1,n$:goto360
355 open2,8,2,"@0:q"+n$+",s,w"
360 fori=1tox
365 print#2,aa$(i)
370 print#2,bb$(i)
375 next:print#2,"qq":close2:print"[147]":goto40
377 rem ##### load #####
380 print"[147]"
385 gosub20:print" 1-exit 2-tape 3-disk ";:gosub20
387 print" load [146]";
390 geta$:ifa$=""then390
392 ifa$="1"thengoto37
395 r=10:c=0:gosub30:poke19,64:input"file name ";n$:poke19,0:ifx<>0thenx=x+1
397 ifx=0thenx=1
398 i=x
400 ifa$="2"thenopen2,1,0,n$:goto415
405 open2,8,2,"0:q"+n$+",s,r"
415 input#2,a$
417 ifa$="qq"thenclose2:x=x-1:print"[147]":goto40
418 aa$(i)=a$
420 input#2,b$
422 ifb$="qq"thenclose2:x=x-1:print"[147]":goto40
423 bb$(i)=b$
425 i=i+1:x=i:ifx>101thenx=101:close2:print"[147]":goto40
430 goto415
435 rem ###### clear ######
440 r=10:c=0:gosub30:print"are you sure you want to clear? (y/n)"
445 geta$:ifa$=""then445
450 ifa$="n"then37
455 clr:goto10
456 rem ###### print ######
458 pokebo,3:pokeba,3:print"[147][144]"
460 gosub20:print" 1-exit 2-questions and answers ";
465 print" ";
470 print" 3-questions only 4-answers only ";:gosub20
475 geta$:ifa$=""then475
480 ifa$="1"then35
485 r=10:c=0:gosub30:poke19,64:print"how many copys? ";:inputb:open4,4
490 ifa$="3"thenfort=1tob:goto560
495 ifa$="4"thenfort=1tob:goto590
500 ifa$="2"thenfort=1tob:goto520
510 goto475
520 l=2:fori=1tox
530 print#4,"q. ";aa$(i)
535 print#4
540 print#4,"a. ";bb$(i)
545 print#4:l=l+4
547 ifl>64thenforr=1to3:print#4:nextr:l=2
550 nexti:forr=lto67:print#4:nextr:l=2:nextt:close4:goto458
560 l=2:fori=1tox
570 print#4,i". ";aa$(i)
575 print#4:print#4:l=l+3
577 ifl>64thenforr=1to3:print#4:nextr:l=2
580 nexti:forr=lto67:print#4:nextr:l=2:nextt:close4:goto458
590 l=2:fori=1tox
600 print#4,i". ";bb$(i)
605 print#4:l=l+2
607 ifl>64thenforr=1to3:print#4:nextr:l=2
610 nexti:forr=lto67:print#4:nextr:l=2:nextt:close4:goto458
620 rem ##### quiz #####
625 fort=1tox:c$(t)="1":next:z=1:l=0:w=0
630 poke53280,1:poke53281,1:print"[147]"
640 gosub20:print" ultraquiz 64 ";:gosub20
650 r=10:c=0:gosub30:ifz>xthen730
660 k=int(rnd(1)*x)+1
670 ifc$(k)=""then660
680 c$(k)="":r=10:c=0:gosub30
690 printz;aa$(k):z=z+1
700 print:poke19,64:inputa$:poke19,0
710 ifa$=bb$(k)thenprint:print"correct":l=l+1:fori=1to500:next:goto630
720 print:print"wrong answer, the correct answer is ":printbb$(k):w=w+1
722 print" hit any key to continue"
723 getl$:ifl$=""then723
724 goto630
730 print"you got"l"right and"w"wrong."
735 s=l/(l+w)*100
740 print:print"your score is"s
750 print:print"try again (y/n)?"
760 geta$:ifa$=""then760
770 ifa$="y"then625
780 goto37
999 rem **** modify ****
1000 print:printtab(13)"1":poke19,64
1010 print"[145][145]":input"modify from ";z:poke19,0:print"":goto1035
1015 print""
1020 print"[147]":gosub20:print" 1-exit 2-modify text 3-skip ";:gosub20
1030 r=9:c=0:gosub30:return
1035 ifz>xthen119
1040 gosub1015:print"[144]question #"z:printaa$(z)
1050 geta$:ifa$=""then1050
1060 ifa$="1"then119
1070 ifa$="2"then1100
1080 ifa$="3"then1120
1090 goto1050
1100 poke19,64:r=9:c=19:gosub30:print" enter new question ":inputa$:poke19,0
1110 aa$(z)=a$
1120 gosub1015:print"[144]answer #"z:printbb$(z)
1130 geta$:ifa$=""then1130
1140 ifa$="1"then119
1150 ifa$="2"then1200
1160 ifa$="3"thenz=z+1:goto1035
1170 goto1130
1200 poke19,64:r=9:c=19:gosub30:print" enter new answer ":inputa$:poke19,0
1210 bb$(z)=a$:z=z+1:goto1035