10 REM DOTPL.ECB ...DOTS AND PLUSES ... by RALPH HOPKINS 04-15-76 20 LET W=0: LET L=0: LET T=0 30 DIM D(26),P(26),S(26) 40 PRINT "&K": REM ...*** LAST REVISED 6-18-79 R.E.H. 50 PRINT ,"*************************************" 60 PRINT ,"**";TAB(49);"**" 70 PRINT ,"** DOTS AND PLUSES NUMBER GAME **" 80 PRINT ,"**";TAB(49);"**" 90 PRINT ,"*************************************" 100 PRINT "&J&J&J" 110 PRINT ,"DO YOU WANT THE RULES? " 120 INPUT (1,200)" ANSWER: (Y or N) ---=>",A$ 130 IF LEN(A$)=0 THEN 220 140 IF A$="N" THEN 220 ELSE PRINT "&K&J" 150 PRINT " I AM THINKING OF A 3 TO 5 DIGIT NUMBER. TRY TO GUESS" 160 PRINT " MY NUMBER AND I WILL GIVE YOU CLUES AS FOLLOWS:" 170 PRINT " DOT - ONE DIGIT CORRECT BUT IN THE WRONG POSITION" 180 PRINT " PLUS - ONE DIGIT CORRECT AND IN THE RIGHT POSITION" 190 PRINT " GOOSE EGG - NO DIGITS CORRECT!!" 200 PRINT " ** TO GIVE UP ** - - - Enter 0's for the number." 210 PRINT : PRINT 220 PRINT ">>> DO YOU WANT TO PLAY NO-TWO-DIGETS EVER THE SAME?" 230 INPUT (1,200)" ANSWER: (Y or N) ---=>",A$ 240 PRINT 250 PRINT "CHOOSE ONE PLEASE: PLAY-3-DIGETS(1) PLAY-4-DIGETS(2)" 260 INPUT (1,0)"OR PLAY-5-DIGETS(3)---=>",N 270 IF N=1 OR N=2 OR N=3 THEN 300 ELSE PRINT 280 PRINT "Use the number INSIDE THE BRACKETS (1) or (2) or (3)" 290 GOTO 240 300 LET N=N+2: REM === READY TO START THE GAME 310 FOR X=1 TO 5: LET A(X)=0: NEXT X 320 FOR X=1 TO N: LET A(X)=INT(RND(0)*10): NEXT X 330 IF LEN(A$)=0 THEN 350 340 IF A$="Y" THEN 350 ELSE 400 350 FOR X=1 TO N-1 360 FOR Y=X+1 TO N 370 IF A(X)=A(Y) THEN EXIT 320 380 NEXT Y 390 NEXT X 400 IF A(1)+A(2)+A(3)+A(4)+A(5)=0 THEN 320 410 PRINT "&J O.K. I HAVE A NUMBER READY.&J" 420 LET A=N*5: LET G=0 430 LET G=G+1 440 FOR X=1 TO 5: LET B(X)=0: NEXT X 450 PRINT " ENTER ";N;" Numbers---GUESS #";G 460 IF G>5 THEN 500 ELSE PRINT " Example: "; 470 IF N=3 THEN PRINT 123 480 IF N=4 THEN PRINT 1234 490 IF N=5 THEN PRINT 12345 500 INPUT (N,0)" ---=>",I$ 510 IF LEN(I$)=N THEN 530 520 PRINT "&J<+> Enter ";N;" numbers please.": GOTO 500 530 FOR X=1 TO N: LET B(X)=ASC(I$(X,X))-48: NEXT X 540 IF B(1)+B(2)+B(3)+B(4)+B(5)=0 THEN 1010: REM ...Gave up ! 550 FOR Q=1 TO N 560 IF B(Q)>-1 AND B(Q)<10 THEN 580 570 PRINT "*** Numbers are <0 OR >9 : TRY OVER ***": EXIT 450 580 NEXT Q 590 IF LEN(A$)=0 THEN 610 600 IF A$="Y" THEN 610 ELSE 680 610 FOR X=1 TO N-1 620 FOR Y=X+1 TO N 630 IF B(X)<>B(Y) THEN 660 ELSE PRINT 640 PRINT "*** NO TWO NUMBERS SHOULD BE THE SAME ! ***" 650 PRINT : EXIT 450 660 NEXT Y 670 NEXT X 680 IF N=3 THEN LET S(G)=(B(1)*100)+(B(2)*10)+B(3) 690 IF N=4 THEN LET S(G)=(B(1)*1000)+(B(2)*100)+(B(3)*10)+B(4) 700 IF N=5 THEN LET S(G)=(B(1)*10000)+(B(2)*1000)+(B(3)*100)+(B(4)*10)+B(5) 710 LET X=0: LET D=0: LET P=0 720 LET X=X+1 730 FOR Y=1 TO N 740 IF X=Y THEN 770 750 IF B(X)=A(Y) THEN LET D=D+1 760 IF B(X)=A(Y) THEN EXIT 780 770 NEXT Y 780 IF X0 THEN PRINT "You got ";D;" DOTS and ";P;" PLUSES." 960 IF P+D=0 THEN PRINT "*> HEY TURKEY, YOU GOT A GOOSE EGG !!" 970 IF P=N THEN 990 ELSE PRINT 980 IF GN THEN PRINT ,"*#* You are out of guesses *#*&J" 1010 PRINT "&JThat's ";G;" guesses on my number of "; 1020 FOR X=1 TO N: PRINT A(X);: NEXT X 1030 PRINT : PRINT 1040 LET T=T+1: REM === TOTAL GAMES PLAYED 1050 IF P=N THEN LET W=W+1 ELSE LET L=L+1: REM === WON/LOST RECORD 1060 INPUT (1,200)"PLAY AGAIN? (Y or N) ---=>",A$ 1070 IF LEN(A$)=0 THEN 110 ELSE PRINT 1080 IF A$="Y" THEN 110 ELSE PRINT 1090 PRINT " You played ";T;" games.&J" 1100 PRINT "You WON ";W;" and LOST ";L 1110 PRINT "&J Hope you had fun. BYE!" 1120 END