10 REM ********** FIVES **********
20 REM ********à MICHAEL BEWS ********** 25 REM **** PAN BOOKS 1984 **** 30 DIM A(83):DIM B$(4):DIM F$(5):DIM S$(5) 35 IT=0 40 MODE 1:BORDER 0:INK 0,1:INK 1,24:INK 2,20:INK 3,6:PAPER 0:PEN 1:IF IT=0 THEN GOTO 780 50 REM 60 PAPER #1,0:PEN #1,1:WINDOW #0, 1,40,15,25:PEN #0,3:PAPER #0,2:CLS #1 70 CLS #0 80 REM ***** MAIN ROUTINE ****** 90 FOR X=1 TO 5 100 A(X)=INT(RND*9)+1 110 IF X=1 THEN 140 120 FOR Y= 1 TO X-1:IF A(X)=A(Y) THEN 100 130 NEXT Y 140 NEXT X 150 PRINT #1," F I V E S "; 160 PRINT #1,STRING$(40,229):LOCATE #1,1,12:PRINT #1,STRING$(40,226) 170 LOCATE #0,1,1:PRINT"NOW ENTER YOUR QUESTIONS ONE AT A TIME " 180 FOR W=1 TO 4 190 LOCATE #1,2,(4+W):PRINT #1,W;">"; 200 GOSUB 590 210 SOUND 1,180,20 220 F$(W)=STR$(A(P)) 230 PRINT #1,X$; 240 GOSUB 680 250 SOUND 1,120,20 260 LOCATE #1,8,4+W:PRINT #1,B$(W) 270 GOSUB 590 280 IF STR$(A(P))=F$(W) THEN LOCATE #1,21,4+W:PRINT #1,"DIFFERENT LETTER";:FOR X=1 TO 1050:NEXT:LOCATE #1,21,4+W:PRINT #1,SPACE$(19);:GOTO 270 290 SOUND 1,90,20 300 S$(W)=STR$(A(P)) 310 LOCATE #1,10,4+W:PRINT #1,X$ 320 IF B$(W)="*" THEN Q=VAL(F$(W))*VAL(S$(W)) 330 IF B$(W)="+" THEN Q=VAL(F$(W))+VAL(S$(W)) 340 IF B$(W)="-" THEN Q=VAL(F$(W))-VAL(S$(W)) 350 IF B$(W)=CHR$(172) THEN Q=VAL(F$(W))/VAL(S$(W)) 360 LOCATE #1,15,4+W:PRINT #1,"=";Q 370 SOUND 1,180,20 380 NEXT W 390 REM *********** ROUTINE END ******** 400 LOCATE #0,1,6:FOR X=1 TO 6:PRINT #0,SPACE$(40);:NEXT X 410 LOCATE #0,1,1:PRINT #0,"NOW ENTER YOUR GUESS AS COMPLETE FIVE FIGURE NUMBER - EXAMPLE : (12345) ENTER" 420 LOCATE #0,1,4:PRINT #0," ENTER '?' IF YOU RESIGN" 430 LOCATE #0,1,6 440 INPUT #0, X$ 450 SOUND 1,120,20 460 IF X$="?" THEN 510 465 IF X$="" THEN 410 470 IF ASX(X$)<48 OR LEN (X$)<>5 THEN LOCATE #0,1,6:PRINT #0," AGAIN! - FIVE FIGURES";: FOR X=1 TO 2000:NEXT:LOCATE #0,1,6:PRINT #0,SPACE$(40):GOTO 410 480 FOR X=1 TO 5: IF VAL(MID$(X$,X,1))<>A(X) THEN LOCATE #0, 1,6:PRINT#0," NO - TRY AGAIN":FOR X=1 TO 1500:NEXT:GOTO 400 490 NEXT X 500 LOCATE #0,1,1:PRINT #0,CHR$(20);: LOCATE #0,15,1:PRINT #0,"CORRECT";:SC=SC+1 510 TT=TT+1 520 LOCATE #0,7,4:PRINT #0," THIS IS THE ANSWER !" 530 FOR W=1 TO 5:LOCATE #0,14,6:PRINT #0," F I V E S";:LOCATE #0,(12+W+W),7: PRINT #0,A(W);:NEXT 540 LOCATE #1,1,3:PRINT #1,"SCORE:";SC;"CORRECT OUT OF";TT;" 550 :' LOCATE #0,1,1:? #0,STRING$(120,32); 560 LOCATE #0,1,9:PRINT #0," PRESS [ENTER] FOR NEXT GAME ";:INPUT X$ 570 GOTO 40 580 REM ********* LETTER INPUT ROUTINE** 590 X$=INKEY$:IF X$="" THEN 590:ELSE X=ASC(X$) 595 IF X>90 THEN X=X-32: x$=UPPER$(x$) 600 IF X<>69 AND X<>70 AND X<>73 AND X<>83 AND X<>86 THEN 590 610 IF X=70 THEN P=1 620 IF X=73 THEN P=2 630 IF X=86 THEN P=3 640 IF X=69 THEN P=4 650 IF X=83 THEN P=5 660 RETURN 670 REM ***** SIGN INPUT ROUTINE **** 680 X$=INKEY$:IF X$="" THEN 680 ELSE X=ASC(X$) 690 IF X<>43 AND X<>47 AND X<>42 AND X<>45 AND X<>58 AND X<>59 THEN 680 700 IF X$=":" THEN X$="*" 710 IF X$=";" THEN X$="+" 720 IF X$="/" THEN X$=CHR$(172) 730 B$(W)= X$ 740 IF W= 1 THEN RETURN 750 FOR Z=1 TO W-1:IF B$(W)=B$(Z) THEN LOCATE #1,20,4+W:PRINT #1,"'";B$(W);"' ALREADY USED!":FOR X=1 TO 1100:NEXT:LOCATE #1,20,4+W:PRINT #1,SPACE$(19): GOTO 680 760 NEXT 770 RETURN 780 REM********* INSTRUCTIONS ********** 790 CLS 800 PRINT:PRINT" F I V E S " 810 PRINT:PRINT 820 PRINT"The object of F I V E S is to calculate the five digit number which is displayedas 'FIVES' ON the screen." 830 PRINT"You may do this by asking the computer to give you answers to four simple sums" 840 PRINT:PRINT"These sums must each be one of the fourmathematical functions: Additipn,Subtraction,Multiplication and Division [+ - * /]" 850 PRINT"For example: Press I+V [ENTER]":PRINT"and the computer will give you a answer NOTE: YOU USE ONLY THE 5 LETTERS OF THE WORD FIVES . [ F I V E S] " 860 PRINT:PRINT"YOU MAY ASK THE QUESTIONS IN ANY ORDER" 870 LOCATE 1,25:PRINT" PRESS ANY KEY TO START" 880 IF INKEY$="" THEN 880 885 IT=1 890 GOTO 50 900 FOR XY=45 TO 5 STEP -1:SOUND 1,SD,2,INT(XY/5):NEXT :RETURN |