MrCBASIC/DEC/DEC.TXT

1 line
4.0 KiB
Plaintext

10 CLS
DIM S(25)
FOR N=1 TO 20
S(N)=0
NEXT N
20 SCORE = 0:ITEM=-1:TRY=0:COR=0:N=0:RPT=0
25 WAVE 0, SIN
30 DIM ANS(1000):DIM A$(10):DIM B$(10)
50 CLS:PRINT""
PRINT" Please type in your name and press the ENTER key."
PRINT"":PRINT"":INPUT; NOMEN$
90 CLS
PRINT""
PRINT" Which do you want to study?"
PRINT,"1. Pages 2 and 4-- ONLY -a or -um ending nouns."
PRINT,"2. Pages 6, 12, and 22-- ONLY -us, -a, or -um ending nouns."
PRINT,"3. Pages 2 to 26--only --,-is ending nouns."
PRINT,"4. Pages 51 and 55"
PRINT""
PRINT" Press the numbered key for your choice"
205 S$ = ""
210 S$ = INKEY$
IF S$ = "1" THEN S = 1:GOTO 250
IF S$ = "2" THEN S = 2:GOTO 250
IF S$ = "3" THEN S = 3:GOTO 250
IF S$ = "4" THEN S=4:GOTO 250
220 GOTO 205
250 N=N+1
S(N)=S
CLS
PRINT"":PRINT"NOTE: Program runs until preset breaks. If you want to"
PRINT" stop before a break, input QUIT for the nominative singular."
PRINT""
PRINT" If you want to skip over a particular noun,"
PRINT" input SKIP for the nominative singular."
PRINT""
INPUT" To get going, press 'RETURN'", v
270 IF S=1 THEN RESTORE 500
IF S=2 THEN RESTORE 516
IF S=3 THEN RESTORE 544
IF S=4 THEN RESTORE 555
300 ITEM = ITEM +1
305 CLS
310 LINE(10,20)-(470,50),,BF:LINE(12,22)-(468,48),30,BF:LINE(300,22)-(302,48),,BF
312 CALL MOVETO(15,40):PRINT NOMEN$
315 CALL MOVETO(307,40):PRINT"SCORE = "SCORE" %"
317 FOR NM=1 TO 10:READ A$(NM):NEXT NM
318 IF A$(1) = "CHOICE" THEN 450
319 IF A$(1) = "END" THEN 475
322 LINE(0,55)-(490,290),30,BF
323 LINE(165,80)-(230,80)
324 CALL MOVETO(175,75):PRINT A$(1)
325 CALL MOVETO(20,100):INPUT"NOMINATIVE ",B$(1)
IF B$(1)="QUIT" THEN 450
IF B$(1)="SKIP" THEN 305
327 CALL MOVETO(20,130):INPUT"GENITIVE ",B$(2)
328 CALL MOVETO(20,160):INPUT"DATIVE ",B$(3)
329 CALL MOVETO(20,190):INPUT"ACCUSATIVE ",B$(4)
330 CALL MOVETO(20,220):INPUT"ABLATIVE ",B$(5)
IF A$(6)="O" THEN 342
335 CALL MOVETO(250,100):INPUT"NOMINATIVE ",B$(6)
337 CALL MOVETO(250,130):INPUT"GENITIVE ",B$(7)
338 CALL MOVETO(250,160):INPUT"DATIVE ",B$(8)
339 CALL MOVETO(250,190):INPUT"ACCUSATIVE ",B$(9)
340 CALL MOVETO(250,220):INPUT"ABLATIVE ",B$(10)
342 X=20:NN=1
345 FOR Y = 85 TO 205 STEP 30
350 GET(X,Y)-(X+200,Y+30),ANS:LINE(X,Y)-(X+200,Y+30),,BF:PUT(X,Y),ANS
350 IF B$(NN) <> A$(NN) THEN BEEP:FOR DLAY=1 TO 2000:NEXT DLAY:CALL MOVETO(X+100,Y+30):PRINT A$(N):TRY=TRY+1:GOTO 370
351 SOUND 1100,1:FOR DLAY=1 TO 2000:NEXT DLAY
353 COR=COR+1:TRY=TRY+1
355 LINE(X,Y)-(X+200,Y+30),30,BF:PUT(X,Y),ANS
370 NN=NN+1
375 NEXT Y
380 IF A$(6)="O" THEN 390
IF X=20 THEN X=250:GOTO 345
390 SOUND 300,2,30:FOR DL=1 TO 400:NEXT DL
SOUND 220,2,30:FOR DL=1 TO 400:NEXT DL
SOUND 150,3,30:FOR DL=1 TO 600:NEXT DL
CALL MOVETO(20,260):PRINT"TO GO TO NEXT WORD, PRESS '2', TO REPEAT SAME WORD, PRESS '1'."
391 RY$=""
RY$=INKEY$
IF RY$="1" THEN RPT=RPT+1:GOTO 322
IF RY$="2" THEN 400
GOTO 391
400 SCORE = INT((COR/TRY) *100)
405 GOTO 300
450 CLS:PRINT"":PRINT""
PRINT" AT THIS TIME YOU HAVE THE FOLLOWING CHOICES:"
PRINT""
PRINT,"1. QUIT--GO TO MAIN MENU"
PRINT,"2. CONTINUE"
PRINT""
PRINT" PRESS THE NUMBER KEY FOR YOUR CHOICE"
457 PRINT""
PRINT" TO GET SOME CREDIT FOR THIS, GET THE TEACHER TO LOOK AT"
PRINT" THIS BEFORE QUITTING. IF CONTINUING, JUST GO ON."
PRINT" "NOMEN$" GOT "SCORE" % ON "ITEM" ITEMS"
PRINT" DECLENSION OF NOUNS"
PRINT" HE DID THE FOLLOWING SECTIONS:"
PRINT" "S(1) S(2) S(3) S(4) S(5) S(6) S(7) S(8) S(9) S(10)
PRINT" "S(11) S(12) S(13) S(14) S(15) S(16) S(17) S(18) S(19) S(20)
PRINT" AND REPEATED ANY "RPT" TIMES."
462 CHC$ = ""
CHC$ = INKEY$
IF CHC$ = "1" THEN RUN "PARTIBUS"
IF CHC$ = "2" THEN RESTORE:GOTO 90
470 GOTO 462