100 REM MODLO.BS5 ============ LAST MOD. 8/18/77 R.E.H. 110 PRINT "THIS IS THE GAME OF MODULO." 120 PRINT 130 PRINT " +++ TYPE IN A '1' FOR INSTRUCTIONS +++ "; 140 INPUT Y9 150 IF Y9=1 THEN 160 155 GOTO 440 160 PRINT 170 PRINT " WE START THE GAME WITH AN IMAGINARY" 180 PRINT " STACK OF COINS AND THEN ALTERNATELY REMOVE" 190 PRINT " SOME COINS FROM THE STACK." 200 PRINT " THE PLAYER FORCED TO TAKE THE LAST COIN LOSES." 210 PRINT 220 PRINT " I WILL LET YOU CHOOSE THE ORIGINAL SIZE" 230 PRINT " OF THE STACK AND THE MAXIMUM NUMBER OF COINS" 240 PRINT " A PLAYER MAY REMOVE IN A TURN." 250 PRINT " FOR ALL YES OR NO QUESTIONS ANSWER WITH NUMBERS" 255 PRINT "+*+ ( 1=YES 0=NO ) +*+" 260 GOSUB 890 270 PRINT 280 PRINT 290 PRINT "YOU FORFEIT:" 300 PRINT 310 PRINT TAB(8);"1. IF YOU TAKE MORE COINS THAN THE" 320 PRINT TAB(8);" MAXIMUM NUMBER ALLOWED IN A TURN." 330 PRINT TAB(8);"2. IF YOU TAKE LESS THAN ONE COIN AWAY" 340 PRINT TAB(8);" IN A TURN." 350 PRINT TAB(8);"3. IF YOU LEAVE THE STACK WITH A NEGATIVE" 360 PRINT TAB(8);" NUMBER OF COINS." 370 GOSUB 890 380 PRINT TAB(8);"4. IF THE DIFFERENCE BETWEEN THE ORIGINAL" 390 PRINT TAB(8);" STACK AND THE MAXIMUM NUMBER OF COINS" 400 PRINT TAB(8);" THAT CAN BE REMOVED BY A PLAYER IN A" 410 PRINT TAB(8);" TURN IS LESS THAN ONE." 420 PRINT TAB(8);"5. IF THE MAXIMUM NUMBER OF COINS A PLAYER" 430 PRINT TAB(8);" MAY REMOVE IN A TURN IS LESS THAN ONE." 440 PRINT 450 PRINT " HOW MANY COINS DO YOU WANT TO PUT IN THE STACK?"; 460 INPUT N 470 PRINT 480 PRINT " UP TO HOW MANY COINS....." 490 PRINT " ..... CAN A PLAYER REMOVE IN A TURN ? "; 500 INPUT M 510 PRINT 520 IF M<=0 THEN 860 530 PRINT 540 IF N-M<2 THEN 860 550 PRINT " CAN I GO FIRST ? &J" 555 PRINT "+*+ Answer with nmbers: ( 1=YES 0=NO )" 560 INPUT "---=>"A9 570 IF A9=1 THEN 690 580 PRINT 590 PRINT " HOW MANY COINS DO YOU WISH TO"; 600 PRINT " REMOVE FROM THE STACK ? "; 610 INPUT S 620 PRINT 630 IF S<=0 THEN 860 640 IF S>M THEN 860 650 LET N=N-S 660 IF N<0 THEN 860 670 IF N=0 THEN 840 680 PRINT "THAT LEAVES A PILE OF ";N;" COIN(S)." 690 PRINT 700 LET S=N-INT(N/(M+1))*(M+1)-1 710 IF S>0 THEN 760 720 IF S=0 THEN 750 730 LET S=M 740 GOTO 760 750 LET S=1 760 LET N=N-S 770 IF N=0 THEN 820 780 PRINT " I TAKE ";S;" COIN(S). THAT LEAVES ";N 790 PRINT " COIN(S) LEFT IN THE STACK..... YOUR TURN." 800 PRINT 810 GOTO 590 820 PRINT "&J +*+ I LOSE. +*+&JWANT TO PLAY AGAIN ? " 830 GOTO 870 840 PRINT " YOU LOSE ...&J WANT TO PLAY AGAIN ? " 850 GOTO 870 860 PRINT "### YOU FORFEIT. ###&J WANT TO PLAY AGAIN ? " 865 PRINT "+*+ Answer with numbers: ( 1=YES 0=NO )" 870 INPUT "---=>"A9 880 IF A9=1 THEN 440 885 GOTO 940 890 PRINT 900 PRINT " *** READY TO SEE MORE ? ***" 910 INPUT "(Input any number) ---=>"A9 920 PRINT 930 RETURN 940 END