home *** CD-ROM | disk | FTP | other *** search
/ Play and Learn 2 / 19941.ZIP / 19941 / EDUCAMES / SPELLING / SPELLBEE.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1994-02-04  |  3.9 KB  |  164 lines

  1. 10  REM        SPELLING BEE
  2. 20  REM
  3. 25  REM    By  Keith Barber  KCMO
  4. 30  REM
  5. 40  REM  Variables
  6. 50  REM     a$(I)  Spelling List
  7. 60  REM     N     No. of words to spell
  8. 70  REM     S     Selection; Speed
  9. 80  REM     B$    User Spelling
  10. 90  REM     T     Error Counter
  11. 100  REM     W     No. Wrong
  12. 110  REM     C     No. Correct
  13. 120  REM     TD    Time Delay
  14. 130  REM    X,Y,R  Location & Radius
  15. 140  REM           of face
  16. 150  REM
  17. 160  REM
  18. 170  REM
  19. 180  KEY OFF :CLS
  20. 190  SCREEN 1
  21. 200  KDB=VAL(RIGHT$(TIME$,2))*VAL(MID$(TIME$,4,2))
  22. 210  RANDOMIZE KDB
  23. 220  DIM A$(700),A(2,2)
  24. 230  SB$="SPELLING BEE"
  25. 240  PRINT :PRINT TAB(14);SB$
  26. 250  PRINT :PRINT :PRINT
  27. 260  PRINT "   Skill Levels:"
  28. 270  PRINT "      1) Beginning"
  29. 280  PRINT "      2) Intermediate"
  30. 290  PRINT "      3) Average"
  31. 300  PRINT "      4) Advanced"
  32. 310  PRINT "      5) Speed Reader"
  33. 320  PRINT
  34. 330  INPUT "What is your selection";S
  35. 340  PRINT
  36. 350  FOR CK=1 TO 5
  37. 360  IF CK = S THEN 400
  38. 370  NEXT CK
  39. 380  CLS : PRINT
  40. 390  CLS: PRINT "The number you selected was not offered,":PRINT "please reenter your selection.":PRINT :GOTO 230
  41. 400  INPUT "How many words would you like to spell";N
  42. 410  IF N>10 THEN PRINT "That's too many words to work with at":PRINT "one time. I'll let you spell 10 words":PRINT "during this exercise.": N=10 ELSE 430
  43. 420  FOR TD=1 TO 2000 : NEXT TD
  44. 430  ON S GOTO 440,470,500,530,560
  45. 440  T = -1
  46. 450  OPEN "I",1,"spell1.dat"
  47. 460  GOTO 580
  48. 470  T = 0
  49. 480  OPEN "I",1,"spell2.dat"
  50. 490  GOTO 580
  51. 500  T = 1
  52. 510  OPEN "I",1,"spell3.dat"
  53. 520  GOTO 580
  54. 530  T = 2
  55. 540  OPEN "I",1,"spell4.dat"
  56. 550  GOTO 580
  57. 560  T = 2
  58. 570  OPEN "I",1,"spell4.dat"
  59. 580  IF EOF(1) THEN 630
  60. 590  INPUT #1,A$
  61. 600  WORDS = WORDS + 1
  62. 610  A$(WORDS)=A$
  63. 620  GOTO 580
  64. 630  CLOSE 1
  65. 640  N1=N
  66. 650  SKIP = INT(4*RND(1))+1
  67. 660  KB = INT(WORDS*RND(1))
  68. 670  IF KB > (WORDS - N1*SKIP) THEN 250
  69. 680  CLS
  70. 690  LOCATE 10,15 :PRINT "Get Ready!"
  71. 700  FOR TD=1 TO 800 : NEXT TD
  72. 710  FOR I=KB TO KB + N1*SKIP -SKIP STEP SKIP
  73. 712  IF S=1 THEN T=-1 :GOTO 720
  74. 714  IF S=2 THEN T=0 : GOTO 720
  75. 716  IF S=3 THEN T=1 ELSE T=2
  76. 720  CLS
  77. 730  FOR TD=1 TO 500 : NEXT TD
  78. 750  LOCATE 10,15 :PRINT A$(I)
  79. 760  FOR TD=1 TO 1500/S^1.25 :NEXT TD
  80. 770  CLS
  81. 780  LOCATE 11,6 : LINE INPUT "Spell it: ";B$
  82. 790  IF B$=A$(I) THEN 910
  83. 800  BEEP : BEEP
  84. 810  IF T=2 THEN W=W+1 :GOTO 860
  85. 820  LOCATE 13,1 : PRINT "I'm sorry that was not correct. Please  try again."
  86. 830  FOR TD=1 TO 2000 :NEXT TD
  87. 840  T=T+1
  88. 850  GOTO 720
  89. 860  CLS
  90. 870  LOCATE 20,1 :PRINT "The correct spelling is... ";A$(I)
  91. 880  GOSUB 1360
  92. 890  FOR TD=1 TO 3000 : NEXT TD
  93. 900  GOTO 960
  94. 910  LOCATE 13,16: PRINT "CORRECT"
  95. 930  GOSUB 1230
  96. 940  C=C+1
  97. 950  FOR TD=1 TO 2000 :NEXT TD
  98. 960  NEXT I
  99. 970  CLS
  100. 980  PRINT
  101. 990  PRINT "***************************************"
  102. 1000  PRINT TAB(15)"SCOREBOARD"
  103. 1010  PRINT "***************************************"
  104. 1020  PRINT
  105. 1030  PRINT "Number of words spelled"TAB(36);N
  106. 1040  PRINT
  107. 1050  PRINT "Number of words spelled correctly"TAB(36);C
  108. 1060  PRINT
  109. 1070  PRINT "Number of words misspelled"TAB(36);W
  110. 1080  PRINT
  111. 1090  PRINT "Percent spelled correctly"TAB(35);CINT(C/N*100)"%"
  112. 1100  PRINT
  113. 1110  PRINT "***************************************"
  114. 1120  PRINT
  115. 1130  R=12 :Y=130
  116. 1140  FOR HP=1 TO CINT(C/N*100/10)
  117. 1150  X=28*HP
  118. 1160  GOSUB 1260
  119. 1170  NEXT HP
  120. 1180  PRINT
  121. 1190  LOCATE 21,1 :INPUT "WOULD YOU LIKE TO SPELL SOME MORE WORDS";A$
  122. 1200  IF LEFT$(A$,1)="y" OR LEFT$(A$,1)="Y" THEN N=N+N1:GOTO 650
  123. 1210  PRINT "Okay, have a nice day."
  124. 1220  END
  125. 1230  X=160  '  Happy Face
  126. 1240  Y=150
  127. 1250  R=40
  128. 1260  CIRCLE(X,Y),R
  129. 1270  CIRCLE(X,Y+R/6),0.4*R,,3.8,5.7
  130. 1280  CIRCLE(X-0.4*R,Y-0.2*R),0.1*R
  131. 1290  CIRCLE(X+0.4*R,Y-0.2*R),0.1*R
  132. 1300  LINE(X,Y-0.1*R)-(X,Y+0.18*R)
  133. 1310  PSET(X-0.4*R,Y-0.2*R)
  134. 1320  PSET(X+0.4*R,Y-0.2*R)
  135. 1330  CIRCLE(X-0.4*R,Y-0.2*R),0.2*R,,0.785,2.356
  136. 1340  CIRCLE(X+0.4*R,Y-0.2*R),0.2*R,,0.785,2.356
  137. 1350  RETURN
  138. 1360  X=162  '  Dunce Face
  139. 1370  Y=100
  140. 1380  R=40
  141. 1390  CIRCLE(X,Y),R
  142. 1400  CIRCLE(X,Y+0.8*R),0.4*R,,0.785,2.36
  143. 1410  CIRCLE(X-0.4*R,Y-0.2*R),0.1*R
  144. 1420  CIRCLE(X+0.4*R,Y-0.2*R),0.1*R
  145. 1430  LINE(X,Y-0.1*R)-(X,Y+0.18*R)
  146. 1440  PSET(X-0.4*R,Y-0.2*R)
  147. 1450  PSET(X+0.4*R,Y-0.2*R)
  148. 1460  CIRCLE(X-0.4*R,Y-0.2*R),0.2*R,,0.5,2
  149. 1470  CIRCLE(X+0.4*R,Y-0.2*R),0.2*R,,1.14,2.64
  150. 1480  LINE(X-R-2,Y)-(X,Y-2.2*R)
  151. 1490  LINE(X+R+2,Y)-(X,Y-2.2*R)
  152. 1500  LOCATE 8,21 :PRINT "D"
  153. 1510  CIRCLE(X-0.39*R,Y-0.2*R),1,,,,2
  154. 1520  GET(X-0.39*R-1,Y-0.2*R-1)-(X-0.39*R+1,Y-0.2*R+1),A
  155. 1530  PUT(X-0.39*R-1,Y-0.2*R-1),A,XOR
  156. 1540  PSET(X-0.4*R,Y-0.2*R)
  157. 1550  FOR TD=1 TO 2
  158. 1560  FOR Y1 =Y-0.2*R TO Y-0.2*R+50 STEP 0.2
  159. 1570  PUT(X-0.39*R,Y1),A,XOR
  160. 1580  PUT(X-0.39*R,Y1),A,XOR
  161. 1590  NEXT Y1
  162. 1600  NEXT TD
  163. 1610  RETURN
  164.