home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / educ / prschool.zip / MULTIPLY.BAS < prev    next >
BASIC Source File  |  1983-10-26  |  5KB  |  117 lines

  1. 10 '******************************************************
  2. 20 '******           M U L T I P L Y          ************
  3. 30 '******************************************************
  4. 34 KEY OFF
  5. 35 COLOR 0,0:COLOR 7,0
  6. 40 CLS:LOCATE 10,20:PRINT"Hit F1 key When Ready"
  7. 50 KEY(1) ON:ON KEY(1) GOSUB 70
  8. 55 GOSUB 1040
  9. 60 R=R+1:GOTO 60
  10. 70 RETURN 80
  11. 80 RANDOMIZE R:ON KEY(1) GOSUB 240
  12. 90 A=INT(RND(R)*10):IF A=0 THEN 90
  13. 100 B=INT(RND(R)*10):IF B=0 THEN 100
  14. 110 C=A*B
  15. 115 FOR LOOP2=1 TO 2:LOOP=5
  16. 120 CLS:LOCATE 25,1:PRINT"Press F1 key to exit";
  17. 140 COLOR 15,0:L=400
  18. 150 NUMBER=A:ROWNUM=LOOP:COLNUM=5:GOSUB 1120:SOUND INT(RND(R)*1000+100),1:GOSUB 220
  19. 160 COLOR 7:NUMBER=10:ROWNUM=LOOP:COLNUM=17:GOSUB 1120:SOUND INT(RND(R)*1000+100),2:GOSUB 220
  20. 170 COLOR 15:NUMBER=B:ROWNUM=LOOP:COLNUM=29:GOSUB 1120:SOUND INT(RND(R)*1000+100),1:GOSUB 220
  21. 180 COLOR 7:NUMBER=11:ROWNUM=LOOP:COLNUM=41:GOSUB 1120:SOUND INT(RND(R)*1000+100),2:L=100:GOSUB 220:SOUND INT(RND(R)*1000+100),1:L=1000:GOSUB 220
  22. 190 COLOR 15,0:NUMBER=INT(C/10):IF NUMBER < 1 THEN 195:ELSE ROWNUM=LOOP:COLNUM=53:GOSUB 1120:SOUND INT(RND(R)*1000+100),2:L=10:GOSUB 220
  23. 195 COLOR 15,0:NUMBER=C-NUMBER*10:ROWNUM=LOOP:COLNUM=65:GOSUB 1120:SOUND INT(RND(R)*1000+100),2:L=2000:GOSUB 220
  24. 200 COLOR 7,0:SWAP A,B:NEXT LOOP2                              
  25. 210 GOSUB 250        'Test Memory
  26. 220 FOR L2=1 TO L:NEXT L2:RETURN
  27. 230 CLS:LOCATE 25,1:PRINT"Press F1 key to exit";:RETURN 80
  28. 240 COLOR 0,0:COLOR 7,0:CLS:END
  29. 250 CLS:LOCATE 15,1
  30. 260 L=300
  31. 265 COLOR 15,0
  32. 270 SOUND INT(RND(R)*1000+100),2:PRINT"What ";:GOSUB 220
  33. 280 SOUND INT(RND(R)*1000+100),2:PRINT"is ";:GOSUB 220
  34. 290 SOUND INT(RND(R)*1000+100),2:PRINT"the ";:GOSUB 220
  35. 300 L=100:SOUND INT(RND(R)*1000+100),1:PRINT"pro";:GOSUB 220
  36. 310 SOUND INT(RND(R)*1000+100),1:PRINT"duct ";:L=500:GOSUB 220
  37. 320 L=400:SOUND INT(RND(R)*1000+100),2:PRINT"of":GOSUB 220
  38. 325 COLOR 7,0
  39. 330 LOOP=1:I2$=""
  40. 340 LOCATE 10,20:L=200
  41. 350 COLOR 15,0:NUMBER=A:ROWNUM=LOOP:COLNUM=5:GOSUB 1120:SOUND INT(RND(R)*1000+100),1:GOSUB 220
  42. 360 COLOR 7:NUMBER=10:ROWNUM=LOOP:COLNUM=17:GOSUB 1120:SOUND INT(RND(R)*1000+100),2:GOSUB 220
  43. 370 COLOR 15:NUMBER=B:ROWNUM=LOOP:COLNUM=29:GOSUB 1120:SOUND INT(RND(R)*1000+100),1:GOSUB 220
  44. 380 LOCATE 13,26
  45. 390 I$=INKEY$:IF I$="" THEN 390:ELSE NUMBER=VAL(I$):ROWNUM=15:COLNUM=LOOP*10+40:GOSUB 1120                                                     
  46. 400 I2$=I2$+LEFT$(I$,2):I$=""
  47. 410 IF C=VAL(I2$) THEN 480
  48. 420 IF (LOOP = 1) AND (VAL(I2$) <> INT(C/10)) THEN GOSUB 450
  49. 430 LOOP=LOOP+1:IF LOOP > 2 THEN 450
  50. 440 GOTO 390
  51. 450 CLS:LOCATE 10,20:PRINT"LET'S TRY AGAIN":PLAY "o3cO2gc":L=1000:GOSUB 220
  52. 460 FAKE$=INKEY$:IF FAKE$<>"" THEN I$="":FAKE$=""
  53. 470 RETURN 115
  54. 480 L=800:GOSUB 220:CLS:LOCATE 10,20:PRINT"YOU'RE CORRECT":PLAY "o2cgo3c":L=1000:GOSUB 220:RETURN 90
  55. 490 '******************************************************
  56. 500 '******      end     M U L T I P L Y       ************
  57. 510 '******************************************************
  58. 1000 '**************************************************
  59. 1010 '**********     N U M B E R S     *****************
  60. 1020 '**************************************************
  61. 1030 '
  62. 1040 FORMAT1$=STRING$(9,219)
  63. 1050 FORMAT2$=SPACE$(8)+CHR$(219)
  64. 1060 FORMAT3$=CHR$(219)+SPACE$(8)
  65. 1070 FORMAT4$=CHR$(219)+SPACE$(7)+CHR$(219)
  66. 1080 FORMAT5$=SPACE$(4)+CHR$(219)+SPACE$(4)
  67. 1090 FOR N=0 TO 9:FOR N2=1 TO 9
  68. 1100 READ NUM(N,N2)
  69. 1110 NEXT N2:NEXT N:RETURN
  70. 1120 '
  71. 1150 ROWNUM=ROWNUM-1
  72. 1160 FOR NUMPART=1 TO 9:LOCATE ROWNUM+NUMPART,COLNUM
  73. 1164 IF NUMBER=10 THEN ON NUMPART GOSUB 1360,1361,1362,1363,1364,1365,1366,1367,1368:GOTO 1175
  74. 1166 IF NUMBER=11 THEN ON NUMPART GOSUB 1370,1371,1372,1373,1374,1375,1376,1377,1378:GOTO 1175
  75. 1170 ON NUM(NUMBER,NUMPART) GOSUB 1210,1220,1230,1240,1250
  76. 1175 NEXT NUMPART
  77. 1180 LOCATE 1,1
  78. 1190 RETURN
  79. 1210 PRINT FORMAT1$:RETURN
  80. 1220 PRINT FORMAT2$:RETURN
  81. 1230 PRINT FORMAT3$:RETURN
  82. 1240 PRINT FORMAT4$:RETURN
  83. 1250 PRINT FORMAT5$:RETURN
  84. 1260  DATA 1,4,4,4,4,4,4,4,1
  85. 1270  DATA 5,5,5,5,5,5,5,5,5
  86. 1280  DATA 1,2,2,2,1,3,3,3,1
  87. 1290  DATA 1,2,2,2,1,2,2,2,1
  88. 1300  DATA 4,4,4,4,1,2,2,2,2
  89. 1310  DATA 1,3,3,3,1,2,2,2,1
  90. 1320  DATA 3,3,3,3,1,4,4,4,1
  91. 1330  DATA 1,2,2,2,2,2,2,2,2
  92. 1340  DATA 1,4,4,4,1,4,4,4,1
  93. 1350  DATA 1,4,4,4,1,2,2,2,2
  94. 1360 PRINT:RETURN
  95. 1361 PRINT" █     █ ":RETURN
  96. 1362 PRINT"  █   █  ":RETURN
  97. 1363 PRINT"   █ █   ":RETURN
  98. 1364 PRINT"    █    ":RETURN
  99. 1365 PRINT"   █ █   ":RETURN
  100. 1366 PRINT"  █   █  ":RETURN
  101. 1367 PRINT" █     █ ":RETURN
  102. 1368 PRINT:RETURN
  103. 1370 PRINT:RETURN
  104. 1371 PRINT:RETURN
  105. 1372 PRINT:RETURN
  106. 1373 PRINT" ████████ ":RETURN
  107. 1374 PRINT:RETURN
  108. 1375 PRINT" ████████ ":RETURN
  109. 1376 PRINT:RETURN
  110. 1377 PRINT:RETURN
  111. 1378 PRINT:RETURN
  112. 1380 '******************************************
  113.  ████████ ":RETURN
  114. 1376 PRINT:RETURN
  115. 1377 PRINT:RETURN
  116. 1378 PRINT:RETURN
  117. 1380 '*************************