home *** CD-ROM | disk | FTP | other *** search
/ The CIA World Factbook 1992 / k3bimage.iso / sel / 04 / 0049 / mnchmath.bas (.txt) next >
Encoding:
GW-BASIC  |  1991-12-02  |  3.8 KB  |  99 lines

  1. 5  REM SAVE"MNCHMATH.BAS",A
  2. 10  REM Munchmath from June 84 Compute!'s PC & PCjr
  3. 100  RANDOMIZE(1):WIDTH 40:SCREEN 0,1:KEY OFF:DEF SEG=0:POKE 1047,80
  4. 110  SM=9:L=1:COLOR 14,1,1:CLS
  5. 120  H$=CHR$(11):D$=STRING$(21,31):S$=H$+D$
  6. 130  J$=STRING$(22,223):P=4:M=1:GOTO 760
  7. 140  D=VAL(AN$):IF ASC(AN$)=81 AND W+R>0 THEN 660
  8. 150  IF INT(D) <> INT (C) THEN 180
  9. 160  P=P+1:R=R+1:M=M+1:SC=SC+10
  10. 170  SOUND 252,3:GOTO 560
  11. 180  M=M+1:W=W+1:RW=22-LEN(C$):RV=RW-1:IF Q=3 THEN LOCATE 9,12:PRINT STRING$(30,32):LOCATE 10,RV:PRINT C;:FOR I=1 TO 400:NEXT I:GOTO 200
  12. 190  LOCATE 10,12:PRINT STRING$(20,32):LOCATE 10,RW-1:PRINT C;:FOR I=1 TO 400:NEXT I
  13. 200  SOUND 100,0.7:GOTO 580
  14. 210  SOUND 200,1:FOR I=1 TO 100:NEXT I:RETURN
  15. 220  RANDOMIZE(RD)
  16. 230  A=INT(RND(1)*5*L)+1
  17. 240  B=INT(RND(1)*5*L)+1:IF B>A THEN A=A+B
  18. 250  E=INT(A*B):A$=STR$(A):B$=STR$(B):E$=STR$(E)
  19. 260  IF Q=1 THEN C=A+B:X=43:GOTO 300
  20. 270  IF Q=2 THEN C=A-B:X=45:GOTO 300
  21. 280  IF Q=3 THEN C=A:GOTO 340
  22. 290  C=E:X=88
  23. 300  C$=STR$(C):LOCATE 7,INT((40-LEN(A$))/2):PRINT A
  24. 310  LOCATE 8,INT((40-LEN(B$))/2):PRINT B:D$=STRING$(3,223):LC=INT((40-LEN(D$))/2):LOCATE 9,LC:PRINT D$:LOCATE 8,LC:PRINT CHR$(X)
  25. 320  PRINT LEFT$(S$,10);SPC(19-LEN(C$));STRING$(15,32):GOSUB 970:IF AN$="" THEN 320
  26. 330  D=VAL(AN$):GOTO 140
  27. 340  C$=STR$(C):LC=22-LEN(C$)
  28. 350  LE=LEN(E$):LOCATE 11,11:PRINT STRING$(20,32):LOCATE 12,11:PRINT STRING$(20,32)
  29. 360  LOCATE 11,LC-1:PRINT STRING$(LE,220);:IF LEN(B$)=3 THEN LB=2 ELSE LB=1
  30. 370  LOCATE 12,LC-3-LB:PRINT B:LOCATE 12,LC-1:PRINT E:LOCATE 12,LC-2:PRINT CHR$(251)
  31. 380  GOSUB 970:IF AN$="" THEN 380
  32. 390  GOTO 140
  33. 400  LOCATE 2,SM+P:PRINT CHR$(64):FOR I=200 TO 220:SOUND I*2,1:NEXT I
  34. 410  LOCATE 2,SM+P:PRINT CHR$(32):SC=SC-50:IF SC<0 THEN SC=0
  35. 420  L=L-1:IF L=0 THEN L=1
  36. 430  P=4:M=1:CLS:GOTO 950
  37. 440  LOCATE 2,SM+M-1:PRINT CHR$(32):FOR I=1 TO 6:LOCATE 2,SM+M:PRINT CHR$(8)
  38. 450  LOCATE 2,SM+P:PRINT CHR$(8):LOCATE 2,SM+P:PRINT CHR$(2):LOCATE 2,SM+M:PRINT CHR$(8)
  39. 460  LOCATE 2,SM+M:PRINT CHR$(32):LOCATE 2,SM+P:PRINT CHR$(32):P=P-1:M=M-1:NEXT I
  40. 470  FOR I=12 TO 9 STEP-1:LOCATE 2,SM+I:PRINT CHR$(8):LOCATE 2,SM+9:PRINT CHR$(8)
  41. 480  SOUND INT(RND(1)*90+50),0.5:LOCATE 2,SM+I:PRINT CHR$(2)
  42. 490  LOCATE 2,SM+I:PRINT CHR$(32):NEXT I
  43. 500  COLOR 4,1:FOR I=1 TO 20:PRINT CHR$(11);CHR$(31);TAB(15);"** 100 **";:SOUND INT(RND(0)*200+50),0.5
  44. 510  Z$=SPACE$(9):PRINT CHR$(11);CHR$(31);TAB(15);Z$:NEXT I:SOUND 37,0:COLOR 7,1:L=L+1:IF L>9 THEN 660
  45. 520  SC=SC+100:P=4:M=1
  46. 530  REM SETUP
  47. 540  CLS:PRINT LEFT$(S$,3);SPC(9);J$
  48. 550  PRINT CHR$(11);SPC(13);CHR$(31);STRING$(14,254):COLOR 15,1:LOCATE 2,28:PRINT CHR$(3):COLOR 7,0
  49. 560  COLOR 14,1:LOCATE 2,SM+P-1:PRINT CHR$(32):LOCATE 2,SM+P:PRINT CHR$(2):COLOR 7,1
  50. 570  IF SM+P=SM+19 THEN 440
  51. 580  COLOR 4,1:LOCATE 2,SM+M-1:PRINT CHR$(32):LOCATE 2,SM+M:PRINT CHR$(8):COLOR 7,1
  52. 590  IF M=P THEN 400
  53. 600  PRINT LEFT$(S$,16);SPC(16);"Level:";L
  54. 610  PRINT LEFT$(S$,18);SPC(9);J$
  55. 620  PRINT LEFT$(S$,21);SPC(12);N$;"'s score:";SC
  56. 630  IF Q=3 THEN LOCATE 10,5:PRINT STRING$(20,32);
  57. 640  PRINT LEFT$(S$,7);SPC(17);"      ":PRINT SPC(17);"      ":PRINT SPC(13);"            "
  58. 650  GOTO 220
  59. 660  CLS:PRINT CHR$(31);SPC(13-LEN(N$)/2);N$;"'s Scoreboard"
  60. 670  PRINT SPC(14);STRING$(2,31);"Problems:";W+R:PR=W+R
  61. 680  PRINT SPC(12);STRING$(2,31);"Right Answers:";R:PRINT SPC(12);STRING$(2,31);"Wrong Answers:";W
  62. 690  PRINT SPC(14);STRING$(2,31);"Grade:";INT(R/PR*100);"%"
  63. 700  PRINT SPC(12);STRING$(2,31);"Play Again (Y/N)?"
  64. 710  A$=INKEY$:RD=RND(1):IF A$="" OR (A$<>"Y" AND A$<>"N") THEN 710
  65. 720  IF A$="N" THEN SYSTEM
  66. 730  IF S$="Y" AND L<9 THEN RUN 100
  67. 740  PR=0:R=0:W=0:SC=0:P=4:M=1:GOTO 850
  68. 750  REM TITLE
  69. 760  LOCATE 1,1,0:FOR I=13 TO 29 STEP 2:READ CR,CL:COLOR CL,1:LOCATE 10,I:PRINT CHR$(CR):NEXT I:COLOR 14,1
  70. 770  READ F,G:IF F=-1 THEN 800
  71. 780  SOUND F+G,0.5
  72. 790  RD=RND(1):GOTO 770
  73. 800  FOR I=4 TO 24:SOUND I*10,0.5:PRINT LEFT$(S$,10);SPC(I);CHR$(8);STRING$(2,32);CHR$(2);
  74. 810  PRINT LEFT$(S$,10);SPC(I);CHR$(8);STRING$(2,32);CHR$(2)
  75. 820  NEXT I:SOUND 37,0
  76. 830  PRINT LEFT$(S$,10);SPC(24);STRING$(8,32)
  77. 840  COLOR 7,1:CLS:LOCATE 12,11:PRINT"What is your name";:BEEP:INPUT N$:IF LEN(N$)>10 THEN 840
  78. 850  COLOR 7,1:CLS:LOCATE 3,13:PRINT"What would you":GOSUB 210
  79. 860  LOCATE 5,12:PRINT"like to practice,":GOSUB 210
  80. 870  LOCATE 7,INT(20-LEN(N$)/2):PRINT N$;":":GOSUB 210
  81. 880  LOCATE 10,14:PRINT CHR$(31);"1) Addition":GOSUB 210
  82. 890  PRINT SPC(13);CHR$(31);"2) Subtratioon":GOSUB 210
  83. 900  PRINT SPC(13);CHR$(31);"3) Division":GOSUB 210
  84. 910  PRINT SPC(13);CHR$(31);"4) Multiplication":GOSUB 210
  85. 920  A$=INKEY$:Q=VAL(A$):Z=RND(1):IF Q<1 OR Q>4 THEN 920
  86. 930  PRINT LEFT$(S$,20);SPC(13);"Level (1-9)?"
  87. 940  A$=INKEY$:L=VAL(A$):IF L<1 OR L>9 THEN 940
  88. 950  GOTO 540
  89. 970  AN$="":RW=22-LEN(C$)
  90. 980  ZA$=INKEY$:IF ZA$="" THEN 980
  91. 990  ZL=LEN(AN$)
  92. 1000  IF ASC(ZA$)=8 AND ZL THEN LOCATE 10,RW-1:PRINT CHR$(32);:AN$=LEFT$(AN$,ZL-1):RW=RW-1:GOTO 980
  93. 1010  IF ZA$=CHR$(13) THEN PRINT:RETURN
  94. 1020  IF ZA$<>"Q" AND (ZA$<"0" OR ZA$>"9") OR ZL=LEN(C$)-1 THEN 980
  95. 1030  LOCATE 10,RW:PRINT ZA$;:RW=RW+1:AN$=AN$+ZA$:GOTO 980
  96. 1040  DATA 77,2,85,3,78,4,67,5,72,6,77,7,65,8,84,10,72,11
  97. 1050  DATA 16,195,22,96,28,49,33,125,33,125,33,125,33,125
  98. 1060  DATA 28,49,28,49,28,49,22,96,28,49,22,96,16,195,-1,0
  99.