53 lines
1.4 KiB
Plaintext
53 lines
1.4 KiB
Plaintext
10 LET n$=""
|
|
20 RANDOMIZE
|
|
30 FOR i=1 TO 4
|
|
40 LET n$=n$+STR$ (INT (RND*9)+1)
|
|
50 NEXT i
|
|
60 LET i$="": LET f$="": LET p$=""
|
|
70 CLS
|
|
80 PRINT "24 game"
|
|
90 PRINT "Allowed characters:"
|
|
100 LET i$=n$+"+-*/()"
|
|
110 PRINT AT 4,0;
|
|
120 FOR i=1 TO 10
|
|
130 PRINT i$(i);" ";
|
|
140 NEXT i
|
|
150 PRINT "(0 to end)"
|
|
160 INPUT "Enter the formula";f$
|
|
170 IF f$="0" THEN STOP
|
|
180 PRINT AT 6,0;f$;" = ";
|
|
190 FOR i=1 TO LEN f$
|
|
200 LET c$=f$(i)
|
|
210 IF c$=" " THEN LET f$(i)="": GO TO 250
|
|
220 IF c$="+" OR c$="-" OR c$="*" OR c$="/" THEN LET p$=p$+"o": GO TO 250
|
|
230 IF c$="(" OR c$=")" THEN LET p$=p$+c$: GO TO 250
|
|
240 LET p$=p$+"n"
|
|
250 NEXT i
|
|
260 RESTORE
|
|
270 FOR i=1 TO 11
|
|
280 READ t$
|
|
290 IF t$=p$ THEN LET i=11
|
|
300 NEXT i
|
|
310 IF t$<>p$ THEN PRINT INVERSE 1;"Bad construction!": BEEP 1,.1: PAUSE 0: GO TO 60
|
|
320 FOR i=1 TO LEN f$
|
|
330 FOR j=1 TO 10
|
|
340 IF (f$(i)=i$(j)) AND f$(i)>"0" AND f$(i)<="9" THEN LET i$(j)=" "
|
|
350 NEXT j
|
|
360 NEXT i
|
|
370 IF i$( TO 4)<>" " THEN PRINT FLASH 1;"Invalid arguments!": BEEP 1,.01: PAUSE 0: GO TO 60
|
|
380 LET r=VAL f$
|
|
390 PRINT r;" ";
|
|
400 IF r<>24 THEN PRINT FLASH 1;"Wrong!": BEEP 1,1: PAUSE 0: GO TO 60
|
|
410 PRINT FLASH 1;"Correct!": PAUSE 0: GO TO 10
|
|
420 DATA "nononon"
|
|
430 DATA "(non)onon"
|
|
440 DATA "nono(non)"
|
|
450 DATA "no(no(non))"
|
|
460 DATA "((non)on)on"
|
|
470 DATA "no(non)on"
|
|
480 DATA "(non)o(non)"
|
|
485 DATA "no((non)on)"
|
|
490 DATA "(nonon)on"
|
|
495 DATA "(no(non))on"
|
|
500 DATA "no(nonon)"
|