home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / EDUCATIN / SPELLBE4.LBR / SPELLBE4.BQS / SPELLBE4.BAS
BASIC Source File  |  2000-06-30  |  4KB  |  101 lines

  1. 10 REM * * * SPELLING - BEE * * *
  2. 20 REM * ORGINAL  1979 FEB 28 BY FREDRICK GHOFULPO *
  3. 30 REM * REV (1)  1979 MAR 19 BY ALAN R. GLICKER *
  4. 40 REM * REV (2)  1979 APR 01 BY FREDRICK GHOFULPO *
  5. 50 REM * REV (3)  1986 JUN 15 BY KEITH PETERSEN *
  6. 60 REM
  7. 70 CL$=CHR$(26): REM * * * CLEAR SCREEN * * *
  8. 80 F$="SPELL.DAT"
  9. 90 PRINT CL$;
  10. 100 FOR I=1 TO 4: PRINT: NEXT I
  11. 110 PRINT "DO YOU WANT TO USE > "; F$;
  12. 120 A$="YES"
  13. 130 INPUT " < FOR YOUR DATA"; A$
  14. 140 IF LEFT$(A$,1)="Y" THEN 180
  15. 150 PRINT
  16. 160 INPUT "WHAT FILE DO YOU WISH TO USE ( NAME.DAT )"; F$
  17. 170 IF RIGHT$(F$,4)<>".DAT" THEN PRINT CL$: PRINT: PRINT:
  18.     PRINT: PRINT "WHAT ???": GOTO 160
  19. 180 PRINT CL$
  20. 190 FOR I=1 TO 4: PRINT: NEXT I
  21. 200 PRINT TAB(25); "SPELLING-BEE": PRINT
  22. 210 REM ADAPTED FROM HANGMAN
  23. 220 REM FROM CREATIVE COMPUTING MORRISTOWN, N.J.
  24. 230 PRINT TAB(15); "MODIFIED BY FREDRICK & LYNNE GHOFULPO"
  25. 240 PRINT: PRINT: PRINT
  26. 250 C=1
  27. 260 REM * REV (2) DATA FILE LENGHT COUNTER
  28. 270 OPEN "I", 1, F$
  29. 280 FOR I=1 TO 10000
  30. 290 INPUT #1, A$
  31. 300 ON ERROR GOTO 320
  32. 310 NEXT I
  33. 320 CLOSE 1
  34. 330 N=I-2
  35. 340 PRINT "THERE ARE "; N; " WORDS IN "; F$; " FILE.": PRINT
  36. 350 DIM L$(20), D$(20), N$(26), U(N)
  37. 360 FOR I=1 TO 20: D$(I)="-": NEXT I: M=0
  38. 370 FOR I=1 TO 26: N$(I)="": NEXT I
  39. 380 IF C<N THEN 410
  40. 390 PRINT"YOU DID ALL THE WORDS!!": GOTO 940
  41. 400 REM * REV (1) DISK OPERATION
  42. 410 CLOSE 1: OPEN "I", 1, F$
  43. 420 PRINT "HOLD DOWN SPACE BAR TO CHOOSE A WORD >>>"
  44. 430 IF INKEY$ <> "" THEN 460
  45. 440 W7=RND(1)
  46. 450 GOTO 430
  47. 460 INPUT #1, N
  48. 470 PRINT: PRINT "I'M THINKING OF A WORD!!!"
  49. 480 Q=INT(N*RND(1))+1
  50. 490 IF U(Q)=1 THEN 410
  51. 500 U(Q)=1: C=C+1: RESTORE: T1=0
  52. 510 FOR I=1 TO Q: INPUT #1, A$: NEXT I
  53. 520 CLOSE 1
  54. 530 L=LEN(A$): FOR I=1 TO LEN(A$): L$(I)=MID$(A$,I,1)
  55. 540 NEXT I
  56. 550 PRINT CL$: PRINT: PRINT "HERE ARE THE LETTERS YOU USED:"
  57. 560 FOR I=1 TO 26: PRINT N$(I);: IF N$(I+1)="" THEN 580
  58. 570 PRINT",";: NEXT I
  59. 580 PRINT: FOR I=1 TO L: PRINT D$(I);: NEXT I: PRINT
  60. 590 INPUT "WHAT IS YOUR GUESS"; G$: R=0
  61. 600 IF LEN(G$)>1 THEN 590
  62. 610 FOR I=1 TO 26: IF N$(I)="" THEN 640
  63. 620 IF G$=N$(I) THEN PRINT CL$: PRINT: PRINT: PRINT: PRINT:
  64.     PRINT "YOU GUESSED THAT LETTER BEFORE": PRINT: PRINT:
  65.     PRINT: PRINT: FOR I=1 TO 1500: NEXT I: GOTO 550
  66. 630 NEXT I: PRINT "PROGRAM ERROR. RUN AGAIN.": END
  67. 640 N$(I)=G$: T1=T1+1
  68. 650 FOR I=1 TO L: IF L$(I)=G$ THEN 680
  69. 660 NEXT I: IF R=0 THEN 690
  70. 670 GOTO 700
  71. 680 D$(I)=G$: R=R+1: GOTO 660
  72. 690 M=M+1: GOTO 860
  73. 700 FOR I=1 TO L: IF D$(I)="-" THEN 720
  74. 710 NEXT I: GOTO 840
  75. 720 PRINT: FOR I=1 TO L: PRINT D$(I);: NEXT I: PRINT
  76. 730 INPUT "WHAT IS YOUR GUESS FOR THE WORD"; B$
  77. 740 IF A$=B$ THEN 770
  78. 750 PRINT "WRONG. TRY ANOTHER LETTER."
  79. 760 FOR I=1 TO 1000: NEXT I: GOTO 550
  80. 770 PRINT "RIGHT!! IT TOOK YOU"; T1; "GUESS";
  81. 780 IF T1>1 THEN PRINT "ES";
  82. 790 PRINT "!"
  83. 800 INPUT "WANT ANOTHER WORD"; W$
  84. 810 IF LEFT$(W$,1)="Y" THEN PRINT CL$: GOTO 360
  85. 820 IF LEFT$(W$,1)<>"N" THEN 800
  86. 830 PRINT: PRINT "IT'S BEEN FUN! ...";: CLOSE 1: GOTO 940
  87. 840 PRINT: PRINT"YOU FOUND THE WORD "; A$; "!"
  88. 850 FOR I=1 TO 2000: NEXT I: GOTO 800
  89. 860 PRINT: PRINT "SORRY, THAT LETTER ISN'T IN THE WORD."
  90. 870 FOR I=1 TO 1000: NEXT I
  91. 880 IF M<>10 THEN 550
  92. 890 PRINT CL$: PRINT: PRINT: PRINT
  93. 900 PRINT "            SORRY, YOU LOSE. THE WORD WAS"
  94. 910 PRINT: PRINT TAB(25); "' "; A$; " '"
  95. 920 PRINT: PRINT"      YOU MISSED THAT ONE. DO YOU ";: GOTO 800
  96. 930 INPUT "TYPE YES OR NO"; Y$: IF LEFT$(Y$,1)="Y" THEN 360
  97. 940 PRINT "BYE NOW"
  98. 950 END
  99. SSED THAT ONE. DO YOU ";: GOTO 800
  100. 930 INPUT "TYPE YES OR NO"; Y$: IF LEFT$(Y$,1)="Y" THEN 360
  101. 94