home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpmug / cpmug021.ark / TAXMAN.ASC < prev    next >
Text File  |  1984-04-29  |  4KB  |  181 lines

  1.  
  2.  
  3. 10 DIM T(10)
  4. 20 DIM L(50)
  5. 101 PRINT
  6. 104 PRINT"HI, I'M THE TAXMAN"
  7. 106 PRINT"DO YOU WANT THE REGULATIONS ( Y  OR  N )";
  8. 108 INPUT R$
  9. 110 IF R$="Y" THEN 900
  10. 120 REM ***INITIALZATION
  11. 122 GOSUB 800
  12. 124 REM ***THE HUMAN TAKES A NUMBER
  13. 126 GOSUB 500
  14. 128 REM *** COMPUTE THE HUMAN'S AND TAXMANS TOTLES
  15. 130 GOSUB 570
  16. 132 REM *** PRINT THE NEW LIST
  17. 134 GOSUB 600
  18. 136 REM *** CHECK IF ANY NUMBERS STILL HAVE FACTORS
  19. 138 GOSUB 650
  20. 140 IF M=1 THEN 126
  21. 142 REM *** FIND THE WINNER
  22. 144 GOSUB 700
  23. 146 REM *** AGAIN?
  24. 148 GOTO 750
  25. 496 REM 
  26. 497 REM *** THE HUMAN MOVES
  27. 498 REM
  28. 500 PRINT
  29. 502 PRINT
  30. 504 PRINT"YOU TAKE";
  31. 506 INPUT K
  32. 508 LET K=INT(K)
  33. 510 IF K <= 0 THEN 750
  34. 512 IF K <=N THEN 518
  35. 514 PRINT K;"IS NOT IN THE LIST  --  TRY AGAIN."
  36. 516 GOTO 502
  37. 518 IF L(K)=0 THEN 514
  38. 520 REM  FIND ALL THE FACTORS
  39. 522 IF K>1 THEN 530
  40. 524 PRINT"THERE ARE NO FACTORS OF";K;"FOR ME."
  41. 526 PRINT"ARE YOU TRYING TO SHORT-CHANGE THE TAXMAN?"
  42. 528 GOTO 502
  43. 530 LET M=0
  44. 532 FOR I=1 TO K/2
  45. 534 IF L(I)=0 THEN 544
  46. 536 IF K <> I*INT(K/I) THEN 544
  47. 538 LET M=M+1
  48. 540 LET T(M)=I
  49. 542 LET L(I)=0
  50. 544 NEXT I
  51. 546 REM CHECK WETHER THERE WERE ANY FACTORS
  52. 548 IF M=0 THEN 524
  53. 550 LET L(K)=0
  54. 552 RETURN
  55. 566 REM
  56. 567 REM *** COMPUTE THE HUMAN'S AND TAXMAN'S TOTALS
  57. 568 REM
  58. 570 LET Y=Y+K
  59. 572 PRINT"YOUR TOTAL IS";Y
  60. 574 PRINT"I GET";
  61. 576 FOR I=1 TO M
  62. 578 PRINT T(I);
  63. 580 LET Z=Z+T(I)
  64. 582 NEXT I
  65. 584 PRINT
  66. 586 PRINT"MY TOTAL IS";Z
  67. 588 RETURN
  68. 596 REM
  69. 597 REM *** PRINT THE NEW LIST
  70. 598 REM
  71. 600 PRINT
  72. 602 PRINT"NEW LIST:";
  73. 604 LET M=0
  74. 606 FOR I=1 TO N
  75. 608 IF L(I)=0 THEN 614
  76. 610 PRINT I;
  77. 612 LET M=1
  78. 614 NEXT I
  79. 616 RETURN
  80. 646 REM
  81. 647 REM *** CHECK IF ANY NUMBERS STILL HAVE FACTORS
  82. 648 REM
  83. 649 REM CHECK IF THE LIST IS EMPTY
  84. 650 IF M=0 THEN 690
  85. 652 FOR I=N TO 4 STEP -1
  86. 654 FOR J=2 TO I/2
  87. 656 IF L(J)=0 THEN 664
  88. 658 IF I<> J*INT(I/J) THEN 664
  89. 660 LET M=1
  90. 662 RETURN
  91. 664 NEXT J
  92. 666 NEXT I
  93. 668 REM  THE TAXMAN GETS THE REST OF THE NUMBERS
  94. 670 PRINT
  95. 672 PRINT"I GET";
  96. 674 FOR I=1 TO N
  97. 676 IF L(I)=0 THEN 682
  98. 678 PRINT I;
  99. 680 LET Z=Z+I
  100. 682 NEXT I
  101. 684 PRINT"BECAUSE NO FACTORS OF ANY NUMBER ARE LEFT."
  102. 686 PRINT"MY TOTAL IS";Z
  103. 688 LET M=0
  104. 690 RETURN
  105. 696 REM
  106. 697 REM *** FIND THE WINNER
  107. 698 REM
  108. 700 PRINT
  109. 702 IF Z>Y THEN 708
  110. 704 PRINT"YOU";Y;"     TAXMAN";Z;"    YOU WIN!!!"
  111. 706 RETURN
  112. 708 PRINT"TAXMAN";Z;"    YOU";Y;"    THE TAXMAN WINS."
  113. 710 RETURN
  114. 746 REM 
  115. 747 REM *** AGAIN?
  116. 748 REM
  117. 750 PRINT 
  118. 752 PRINT
  119. 754 PRINT"AGAIN ( Y  OR  N )";
  120. 756 INPUT R$
  121. 759 IF R$="N" THEN 999
  122. 760 GOTO 122
  123. 796 REM
  124. 797 REM *** INITIALATION
  125. 798 REM
  126. 800 PRINT
  127. 802 PRINT"HOW MANY NUMBERS DO YOU WANT IN THE LIST";
  128. 804 INPUT N
  129. 806 LET N=INT(N)
  130. 808 IF N <= 0 THEN 999
  131. 810 IF N=50 THEN 818
  132. 811 IF N<50 THEN 818
  133. 812 PRINT"AT THIS TIME, REGULATIONS ALLOW A MAXIMUM OF 50 NUMBERS."
  134. 814 GOTO 800
  135. 818 LET Y=0
  136. 820 LET Z=0
  137. 822 PRINT
  138. 824 PRINT"THE LIST IS:";
  139. 826 FOR I=1 TO N
  140. 828 PRINT I;
  141. 830 LET L(I)=1
  142. 832 NEXT I
  143. 834 IF N>1 THEN 844
  144. 836 PRINT
  145. 838 PRINT"HOW VERY GENEROUS OF YOU TO FORFEIT ALL TO THE TAXMAN."
  146. 840 PRINT"TAXMAN  1    YOU  0       THE TAXMAN WINS."
  147. 842 GOTO 750
  148. 844 RETURN
  149. 896 REM
  150. 897 REM *** INSTRUCTIONS
  151. 898 REM
  152. 900 PRINT
  153. 901 PRINT"YOU TRY TO BEAT THE TAXMAN."
  154. 902 PRINT
  155. 904 PRINT"WE START WITH A LIST OF WHOLE NUMBERS IN NUMERICAL"
  156. 906 PRINT"ORDER (YOU DECIDE HOW MANY)."
  157. 908 PRINT
  158. 910 PRINT"YOU TAKE A NUMBER FROM THE LIST -- THE TAXMAN GETS"
  159. 912 PRINT"ALL THE FACTORS OF YOUR NUMBER THAT ARE STILL LEFT"
  160. 914 PRINT"YOUR NUMBER AND ALL OF ITS FACTORS ARE THEN DELETED"
  161. 916 PRINT"FROM THE LIST."
  162. 918 PRINT
  163. 920 PRINT"FOR EXAMPLE, SUPPOSE YOU WANT TEN NUMBERS TO BE IN THE LIST."
  164. 922 PRINT"THEN THE LIST WOULD BE: 1 2 3 4 5 6 7 8 9 10"
  165. 924 PRINT
  166. 926 PRINT"IF YOU TOOK 8, THE TAXMAN WOULD GET: 1, 2, AND 4"
  167. 928 PRINT"AND THE NEW LIST WOULD BE: 3 5 6 7 9 10"
  168. 929 INPUT"TYPE G THEN (RETURN) TO GO ON";W$
  169. 930 IF W$<>"G" THEN 929
  170. 932 PRINT"THE TAXMAN MUST GET SOMTHING EVERY TIME SO YOU CAN"
  171. 934 PRINT"ONLY PICK A NUMBER THAT HAS FACTORS LEFT,"
  172. 936 PRINT
  173. 938 PRINT"WHEN NONE OF THE REMAINING FACTORS,"
  174. 940 PRINT"THE TAXMAN GETS THEM!!!"
  175. 942 PRINT
  176. 944 PRINT"YOUR SCORE IS THE SUM OF NUMBERS YOU TAKE."
  177. 946 PRINT"IF YOU WANT TO GIVE UP, TAKE 0."
  178. 948 PRINT"GOOD LUCK !!!"
  179. 950 GOTO 122
  180. 999 END
  181.