Spelling Bee is a four-part educational spelling quiz program containing 100 word sets across its tape files. Each round randomly selects 10 of 25 available problems, presenting five words per question where one is intentionally misspelled; the player must identify the incorrect word by number, and in the “difficult” mode must also type the correct spelling from memory. The program tracks right and wrong scores across multiple test sessions using a packed two-digit-per-test string encoding stored in variables I$ and J$, and can display a score history for up to the last 10 tests with percentage calculations. A “practice” mode re-tests only the words the player has previously missed, and a “list misspelled words” option can output results to either the screen or a printer via LPRINT. The screen border is drawn using a large block-graphic string Z$ built by concatenating rows of ▚ characters with cleared interior space.
Program Analysis
Program Structure
The listing is distributed across four identical-framework tape files (SPELL[1] through SPELL[4]), each containing the same engine code (lines 1–6540) with a unique set of 25 word problems in subroutines at lines 7500–7749. Line 9000 saves the current file and line 9010 returns to line 1 to reinitialize. The shared engine provides:
- Initialization and splash screen (lines 700–960)
- Main menu (lines 1000–1200)
- Test engine (lines 1500–2480)
- Score display (lines 2500–2820)
- List misspelled words (lines 3500–4480)
- Practice mode (lines 4500–4700)
- Save routine (lines 5500–5540)
- Quit routine (lines 6500–6540)
- Word data subroutines (lines 7500–7749)
Menu Dispatch
Menu navigation uses an elegant computed GOTO at line 1200: GOTO 500+1000*VAL Q$. Choosing option 1 jumps to line 1500 (the test), option 2 to line 2500 (scores), option 3 to line 3500 (list), option 4 to line 4500 (practice), option 5 to line 5500 (save), and option 6 to line 6500 (quit). Using VAL Q$ on the INKEY$ result avoids a chain of IF statements and compactly encodes all six destinations.
Word Data Subroutines
Each of the 25 word sets occupies a 10-line block starting at 7500+10*N (where N is 0–24). Every block assigns five candidate words to A$–E$, the correct spelling to N$, and the index of the misspelled word (1–5) to A, then RETURNs. The test engine calls these with GOSUB 7500+10*P where P is a random index, allowing direct computed GOSUB dispatch without a lookup table.
Score History Encoding
Scores are stored in the string variables I$ (wrong counts) and J$ (right counts) using a two-character decimal encoding appended after each test. Lines 2440–2450 extract tens and units digits separately via integer arithmetic: STR$ (INT (I/10)) and STR$ (I-(INT (I/10)*10)). The score display at line 2720 reconstructs each test’s score with (VAL J$(R*2+1)*10)+(VAL J$(R*2+2)), treating the string as a packed array of digit pairs. The display is limited to the most recent 10 tests (line 2550: IF C>10 THEN LET U=C-9).
Screen Border Construction
Before the menu is drawn, a full-screen bordered background string Z$ is built at lines 900–940. A top row of 64 ▚ characters is followed by 18 rows each containing ▚▚, 28 spaces, and ▚▚, then a bottom row of 64 ▚ characters. The entire string is then printed at position 0,0 with a single PRINT AT BS,BS;Z$ statement (e.g. line 1010) to redraw the bordered frame, which serves as a screen clear and layout reset throughout the program.
Numeric Constants as Named Variables
Lines 820–829 assign the values 0–5 to named variables BS, BT, BU, BV, BW, and BX respectively. These are then used extensively as column and row arguments in PRINT AT statements and as numeric comparisons. This technique saves memory because the BASIC interpreter stores a floating-point number in the variable table once, whereas each literal occurrence of a number requires storage of its digits in the line.
Missing-Word Tracking Array
The string X$ is dimensioned to W+1 (26 characters) and initialized to all “0” characters. When a player answers a problem incorrectly, X$(P+BT) is set to the string representation of their chosen answer number via STR$ Q (line 2005). When answered correctly in practice mode it is reset to “0” (line 2260). A special value of “6” is used when the player correctly identified the misspelled word but then failed to spell it correctly in difficult mode (line 2165), triggering a different display branch at line 3630.
Random Question Selection
The test loop uses a rejection-sampling approach at lines 1810–1815: a random integer P is drawn from 0 to W-1, and if R$(P+BT) is already “1” (already used this session), the draw repeats. The tracking array R$ is re-dimensioned fresh each test at line 1790. This guarantees no question repeats within a single 10-question test without requiring a shuffle algorithm.
Dual Display Technique
Several prompt lines are printed twice: first in plain text (e.g. line 830) and then immediately overwritten in inverse video (e.g. line 840). This creates an animated flashing-prompt effect for the “PRESS ANY KEY” message while the keypress polling loop runs between lines 850 and 860. The same pattern appears at lines 1110–1120 for the menu prompt.
Printer Support
The “List Misspelled Words” section (lines 3500–4480) offers to output the misspelled word list to a printer. When L=1, output is directed to LPRINT statements (lines 3805, 4405–4440) instead of PRINT AT. The printer path uses CLS at line 4400 rather than drawing the Z$ border, and pagination is handled by the same B>15 check at line 3560 that governs screen paging.
Bugs and Anomalies
- The printer input logic at lines 3535–3545 is subtly broken: three consecutive
IF INKEY$=...statements are evaluated in sequence on a single pass. Because INKEY$ is re-read each time, it is highly unlikely that both “Y” and “” will be returned in immediate succession, but the “IF INKEY$="" THEN GOTO 3535” at line 3545 means “N” can fall through without settingLto 0. In practice, pressing “N” at line 3540 setsL=0and the program drops through to 3545 where INKEY$ will likely be “” causing a loop back—but the intent is fragile. - In Volume 2, line 7733 assigns to
E$beforeD$(the order isE$="PEA SHOOTER"thenD$="HOMESICK"), reversing the D and E word slots for that question. This means the display order does not match the assignment order for that set. - The practice loop at lines 4600–4700 uses
GOTO 1840(line 4650) to reuse the test display and answer logic, but the subsequent correct-answer path at line 2300 executesNEXT Rwhich refers to the FOR loop at line 1800 — not the practice FOR loop at line 4600. This causes a “NEXT without FOR” error if the practice mode processes more than one word. - Line 2010 prints “WRONG” scrolling down column 27 from row 0 to row 21 using a FOR loop, but the loop variable
Sconflicts with the outer test loop variable (also named elsewhere); this is harmless here since the outer loop usesR, notS. - The scores section divides by
WS(line 2720) for the percentage, butWSis set only inside the test routine (line 1794) and may be uninitialized if the user views scores before taking a test, potentially causing an error.
Content
Image Gallery
Source Code
1 SLOW
10 REM SPELLING BEE
700 LET C=0
720 REM [W][=][N][U][M][B][E][R]█[O][F]█[S][E][T][S]
730 LET W=25
740 DIM X$(W+1)
750 LET X$="00000000000000000000000000"
820 LET BS=0
825 LET BT=1
826 LET BU=2
827 LET BV=3
828 LET BW=4
829 LET BX=5
830 PRINT AT 11,BW;"PRESS ANY KEY TO BEGIN"
840 PRINT AT 11,BW;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N]"
850 LET Q$=INKEY$
860 IF Q$="" THEN GOTO 830
900 LET Z$="▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚"
910 FOR R=BT TO 18
920 LET Z$=Z$+"▚▚ ▚▚"
930 NEXT R
940 LET Z$=Z$+"▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚"
950 LET I$="00"
960 LET J$="00"
1000 REM [M][E][N][U]
1010 PRINT AT BS,BS;Z$
1050 PRINT AT BU,BW;"THE SPELLING BEE."
1055 PRINT AT BW,BW;"HERE ARE YOUR OPTIONS:"
1060 PRINT AT 6,BV;"1..TAKE A TEST"
1070 PRINT AT 8,BV;"2..CHECK SCORES"
1080 PRINT AT 10,BV;"3..LIST MISSPELLED WORDS"
1090 PRINT AT 12,BV;"4..PRACTICE MISSPELLED";TAB 6;"WORD LIST"
1100 PRINT AT 15,BV;"5..SAVE THE PROGRAM"
1105 PRINT AT 17,BV;"6..QUIT THE PROGRAM"
1110 PRINT AT 19,BW;"█[Y][O][U][R]█[D][E][C][I][S][I][O][N][,]█[P][L][E][A][S][E][?]█"
1120 PRINT AT 19,BW;" YOUR DECISION, PLEASE? "
1130 LET Q$=INKEY$
1140 IF Q$="" THEN GOTO 1110
1150 IF Q$>"6" OR Q$<"1" THEN GOTO 1110
1200 GOTO 500+1000*VAL Q$
1500 REM █[T][H][E]█[T][E][S][T]█
1510 LET J=0
1520 LET I=0
1530 LET C=C+1
1600 PRINT AT BS,BS;Z$
1610 PRINT AT BV,BW;"PRESS ""0"" IF YOU WANT";TAB BW;"THE EASY VERSION"
1620 PRINT AT 6,BW;"PRESS ""1"" IF YOU WANT";TAB BW;"THE DIFFICULT VERSION"
1630 LET L$=INKEY$
1640 IF L$>"1" OR L$<"0" THEN GOTO 1610
1650 LET L=VAL L$
1660 IF L=BS THEN PRINT AT 9,BX;"█[T][H][E]█[E][A][S][Y]█[T][E][S][T]█";AT 11,BW;"10 PROBLEMS:";TAB BW;"ONE OF THE FIVE WORDS";TAB BW;"IS SPELLED INCORRECTLY.";TAB BW;"FIND IT."
1670 IF L=BT THEN PRINT AT 9,BX;"█[T][H][E]█[D][I][F][F][I][C][U][L][T]█[T][E][S][T]█";AT 11,BW;"10 PROBLEMS:";TAB BW;"ONE OF THE FIVE WORDS";TAB BW;"IS SPELLED INCORRECTLY.";TAB BW;"FIND IT AND SPELL IT."
1680 PRINT AT 16,BV;"█[H][I][T]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N][.][.][.]█"
1690 LET Q$=INKEY$
1700 IF Q$="" THEN GOTO 1690
1730 DIM A$(12)
1740 DIM B$(12)
1750 DIM C$(12)
1760 DIM D$(12)
1770 DIM E$(12)
1780 DIM N$(12)
1790 DIM R$(W)
1794 LET WS=10
1796 IF W<WS THEN LET WS=W
1800 FOR R=BT TO WS
1805 PRINT AT BS,BS;Z$
1810 LET P=INT (RND*W)
1815 IF R$(P+BT)="1" THEN GOTO 1810
1820 GOSUB 7500+10*P
1830 LET R$(P+BT)="1"
1840 PRINT AT BU,BU;"PROBLEM ";R
1850 PRINT AT BW,BW;"WHICH OF THESE WORDS";TAB BW;"IS SPELLED INCORRECTLY?"
1860 PRINT AT 8,BW;"1..";A$;AT 10,BW;"2..";B$;AT 12,BW;"3..";C$;AT 14,BW;"4..";D$;AT 16,BW;"5..";E$
1870 LET Q$=INKEY$
1880 IF Q$="" OR Q$>"5" OR Q$<"1" THEN GOTO 1870
1882 IF VAL Q$=BT THEN LET M$=A$
1883 IF VAL Q$=BU THEN LET M$=B$
1884 IF VAL Q$=BV THEN LET M$=C$
1885 IF VAL Q$=BW THEN LET M$=D$
1886 IF VAL Q$=BX THEN LET M$=E$
1890 IF VAL Q$=A THEN GOTO 2100
1895 LET Q=VAL Q$
1900 PRINT AT BS,BS;Z$
1910 PRINT AT BV,BV;"█[W][R][O][N][G]█";AT 7,BV;M$;TAB 16;N$;TAB BV;"WAS RIGHT";TAB 16;"WAS";TAB 16;"MISSPELLED."
1920 PRINT AT 12,BW;A$;TAB BW;B$;TAB BW;C$;TAB BW;D$;TAB BW;E$
2000 LET I=I+BT
2005 LET X$(P+BT)=STR$ Q
2010 FOR S=BS TO 21
2020 PRINT AT S,27;"[W][R][O][N][G]"
2030 NEXT S
2040 PRINT AT 18,BU;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[O][N]"
2050 LET Q$=INKEY$
2060 IF Q$="" THEN GOTO 2050
2070 NEXT R
2080 GOTO 2400
2100 PRINT AT BS,BS;Z$
2110 PRINT AT BW,9;"█[C][O][R][R][E][C][T]█"
2120 IF L=BS THEN GOTO 2200
2130 PRINT AT 7,BV;"WHAT IS THE PROPER";TAB BV;"SPELLING OF ";M$;"?"
2135 PRINT AT BW,10;"CORRECT"
2140 PRINT AT 11,BV;"(TYPE THE ANSWER AND";TAB BW;"THEN PRESS RETURN)"
2145 DIM O$(12)
2150 INPUT O$
2155 PRINT AT 11,BV;" ";TAB BW;" "
2157 IF O$=N$ THEN PRINT AT 10,BX;N$;" IS RIGHT."
2160 IF O$=N$ THEN GOTO 2210
2165 LET Q=6
2170 PRINT AT 11,10;"█[W][R][O][N][G]█";TAB BW;"THE PROPER SPELLING IS";TAB BW;"NOT ";O$;AT 15,BW;"THE PROPER SPELLING IS";TAB BW;N$
2180 GOTO 2000
2200 PRINT AT 7,BW;"THE PROPER SPELLING IS";AT 10,10;N$
2210 LET J=J+BT
2215 PRINT AT 12,BV;A$;TAB BV;B$;TAB BV;C$;TAB BV;D$;TAB BV;E$
2220 FOR S=BT TO 22
2230 PRINT AT S-BT,27;"[R][I][G][H][T]"
2240 NEXT S
2250 IF VAL X$(P+BT)>0 THEN PRINT AT 12,16;"MUCH BETTER";TAB 17;"YOU MISSED";TAB 17;"THIS ONE";TAB 17;"LAST TIME."
2260 LET X$(P+BT)="0"
2270 PRINT AT 18,BU;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[O][N]█"
2280 LET Q$=INKEY$
2290 IF Q$="" THEN GOTO 2280
2300 NEXT R
2310 REM [E][N][D]█[O][F]█[T][E][S][T]
2400 PRINT AT BS,BS;Z$
2410 PRINT AT BW,BW;"█[T][H][E]█[T][E][S][T]█[H][A][S]█[E][N][D][E][D]█"
2420 PRINT AT 8,4;"YOU SCORED ";J;" CORRECT";AT 11,BW;"AND ";I;" INCORRECT."
2430 PRINT AT 15,8;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█";TAB 6;"█[T][O]█[R][E][T][U][R][N]█[T][O]█[M][E][N][U]█"
2440 LET I$=I$+STR$ (INT (I/10))+STR$ (I-(INT (I/10)*10))
2450 LET J$=J$+STR$ (INT (J/10))+STR$ (J-(INT (J/10)*10))
2460 LET Q$=INKEY$
2470 IF Q$="" THEN GOTO 2460
2480 GOTO 1000
2500 REM █[S][C][O][R][E][S]█
2540 LET U=BT
2550 IF C>10 THEN LET U=C-9
2600 PRINT AT BS,BS;Z$
2610 PRINT AT BV,10;"█[S][C][O][R][E][S]█"
2620 PRINT AT BX,9;"RIGHT█";TAB 15;"WRONG█";TAB 21;"PERCENT"
2700 FOR R=U TO C
2720 PRINT AT R+6,BV;"TEST ";R;TAB 12;(VAL J$(R*2+1)*10)+(VAL J$(R*2+2));TAB 18;(VAL I$(R*2+1)*10)+(VAL I$(R*2+2));TAB 26;INT (100*(VAL J$(R*2+1)*10+VAL J$(R*2+2))/WS)
2740 NEXT R
2800 PRINT AT 18,BU;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[T][O]█[M][E][N][U]"
2810 IF INKEY$ ="" THEN GOTO 2810
2820 GOTO 1000
3500 REM █[L][I][S][T]█[M][I][S][S][P][E][L][L][E][D]█[W][O][R][D][S]█
3505 IF VAL X$=0 THEN GOTO 1000
3510 LET B=3
3520 PRINT AT BS,BS;Z$
3530 PRINT AT BX,BX;"DO YOU WANT TO PRINT";TAB BX;"THESE WORDS ON THE";TAB BX;"PRINTER?";AT 10,BX;"(Y/N)"
3535 IF INKEY$ ="Y" THEN LET L=1
3540 IF INKEY$ ="N" THEN LET L=0
3545 IF INKEY$ ="" THEN GOTO 3535
3547 PRINT AT BS,BS;Z$
3550 FOR R=1 TO W+1
3560 IF B>15 THEN GOTO 4000
3570 IF R>W THEN GOTO 4200
3610 IF X$(R)="0" THEN NEXT R
3620 GOSUB 7500+10*(R-1)
3630 IF X$(R)="6" THEN GOTO 3800
3640 IF L=1 THEN GOTO 4400
3670 IF X$(R)="1" THEN PRINT AT B,BU;A$;TAB 16;N$
3680 IF X$(R)="2" THEN PRINT AT B,BU;B$;TAB 16;N$
3700 IF X$(R)="3" THEN PRINT AT B,BU;C$;TAB 16;N$
3710 IF X$(R)="4" THEN PRINT AT B,BU;D$;TAB 16;N$
3720 IF X$(R)="5" THEN PRINT AT B,BU;E$;TAB 16;N$
3780 LET B=B+BT
3790 NEXT R
3795 GOTO 4200
3800 IF L=0 THEN PRINT AT B,BU;N$
3805 IF L=1 THEN LPRINT TAB BU;N$
3810 LET B=B+1
3820 NEXT R
3830 GOTO 4200
4000 IF L=1 THEN GOTO 4050
4005 PRINT AT 17,BV;"█[T][H][E][R][E]█[A][R][E]█[M][O][R][E][.]█[P][R][E][S][S]█";TAB BW;"█["][P]["]█[T][O]█[C][O][N][T][I][N][U][E][,]█[O][R]█";TAB BV;"█["][Q]["]█[T][O]█[R][E][T][U][R][N]█[T][O]█[M][E][N][U]█"
4010 IF INKEY$ ="Q" THEN GOTO 1000
4020 IF INKEY$ ="P" THEN GOTO 4040
4030 GOTO 4010
4040 PRINT AT BS,BS;Z$
4050 LET B=3
4060 GOTO 3560
4200 IF L=1 THEN GOTO 4470
4205 PRINT AT 18,BU;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O][T][O]█[M][E][N][U]█"
4210 IF INKEY$ ="" THEN GOTO 4210
4220 GOTO 1000
4400 CLS
4405 IF VAL X$(R)=1 THEN LPRINT TAB BU;A$;TAB 16;N$
4410 IF VAL X$(R)=2 THEN LPRINT TAB BU;B$;TAB 16;N$
4420 IF VAL X$(R)=3 THEN LPRINT TAB BU;C$;TAB 16;N$
4430 IF VAL X$(R)=4 THEN LPRINT TAB BU;D$;TAB 16;N$
4440 IF VAL X$(R)=5 THEN LPRINT TAB BU;E$;TAB 16;N$
4450 LET B=B+BT
4460 NEXT R
4470 LET L=0
4475 LET B=3
4480 GOTO 3547
4500 REM █[P][R][A][C][T][I][C][E]█
4510 IF VAL X$=0 THEN GOTO 1000
4520 LET J=0
4530 LET I=0
4540 PRINT AT BS,BS;Z$
4545 PRINT AT BV,BW;"PRESS ""0"" IF YOU WANT";TAB BW;"THE EASY VERSION"
4550 PRINT AT 6,BW;"PRESS ""1"" IF YOU WANT";TAB BW;"THE DIFFICULT VERSION"
4555 LET L$=INKEY$
4560 IF L$>"1" OR L$<"0" THEN GOTO 4555
4565 LET L=VAL L$
4580 PRINT AT 10,BW;"THE WORDS YOU CURRENTLY";TAB BW;"HAVE WRONG WILL NOW BE";TAB BW;"REVIEWED."
4590 PRINT AT 18,BV;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N]█"
4595 IF INKEY$ ="" THEN GOTO 4595
4600 FOR R=BT TO W+1
4610 IF VAL X$(R)=0 THEN NEXT R
4620 IF R>W THEN GOTO 1000
4630 PRINT AT BS,BS;Z$
4640 GOSUB 7500+10*(R-BT)
4650 GOTO 1840
4700 IF R>W THEN GOTO 1000
5500 PRINT AT BS,BS;Z$
5510 PRINT AT BX,BX;"START THE TAPE";TAB BX;"ON RECORD";AT 9,BX;"THEN PRESS ANY KEY"
5520 IF INKEY$ ="" THEN GOTO 5520
5530 SAVE "SPELL"
5540 GOTO 1000
5555 STOP
6500 PRINT AT BS,BS;Z$
6510 PRINT AT BX,BX;"DO YOU WANT TO QUIT?";AT 8,BX;"(Y/N)"
6520 IF INKEY$ ="Y" THEN STOP
6530 IF INKEY$ ="N" THEN GOTO 1000
6540 GOTO 6520
7499 STOP
7500 LET A$="SPASE"
7501 LET B$="TIME"
7502 LET C$="EARTH"
7503 LET D$="WIND"
7504 LET E$="FIRE"
7505 LET N$="SPACE"
7506 LET A=1
7509 RETURN
7510 LET A$="CLOCK"
7511 LET B$="RADIO"
7512 LET C$="LAMP"
7513 LET D$="CHARE"
7514 LET E$="TABLE"
7515 LET N$="CHAIR"
7516 LET A=4
7519 RETURN
7520 LET A$="PLASTIC"
7521 LET B$="COTON"
7522 LET C$="METAL"
7523 LET D$="RUST"
7524 LET E$="GOLD"
7525 LET N$="COTTON"
7526 LET A=2
7529 RETURN
7530 LET A$="PENCIL"
7531 LET B$="ERASOR"
7532 LET C$="NAILS"
7533 LET D$="HAMMER"
7534 LET E$="SCREW"
7535 LET N$="ERASER"
7536 LET A=2
7539 RETURN
7540 LET A$="BUG"
7541 LET B$="BEETLE"
7542 LET C$="FLYS"
7543 LET D$="BEES"
7544 LET E$="ANTS"
7545 LET N$="FLIES"
7546 LET A=3
7549 RETURN
7550 LET A$="HANDS"
7551 LET B$="MOUTHS"
7552 LET C$="TOES"
7553 LET D$="EARS"
7554 LET E$="NEES"
7555 LET N$="KNEES"
7556 LET A=5
7559 RETURN
7560 LET A$="TIGER"
7561 LET B$="LION"
7562 LET C$="MONKY"
7563 LET D$="DEER"
7564 LET E$="BIRD"
7565 LET N$="MONKEY"
7566 LET A=3
7569 RETURN
7570 LET A$="SUGAR"
7571 LET B$="SPICE"
7572 LET C$="MEAT"
7573 LET D$="VEGTABLE"
7574 LET E$="BREAD"
7575 LET N$="VEGETABLE"
7576 LET A=4
7579 RETURN
7580 LET A$="WOLF"
7581 LET B$="HOUND"
7582 LET C$="FOX"
7583 LET D$="GOOSE"
7584 LET E$="POODEL"
7585 LET N$="POODLE"
7586 LET A=5
7589 RETURN
7590 LET A$="GLASES"
7591 LET B$="PLATES"
7592 LET C$="SPOONS"
7593 LET D$="PEPPER"
7594 LET E$="FORKS"
7595 LET N$="GLASSES"
7596 LET A=1
7599 RETURN
7600 LET A$="FAST"
7601 LET B$="HURY"
7602 LET C$="WALK"
7603 LET D$="SLOW"
7604 LET E$="MOVE"
7605 LET N$="HURRY"
7606 LET A=2
7609 RETURN
7610 LET A$="SHIP"
7611 LET B$="BOAT"
7612 LET C$="OSHIN"
7613 LET D$="WATER"
7614 LET E$="PORT"
7615 LET N$="OCEAN"
7616 LET A=3
7619 RETURN
7620 LET A$="STREET"
7621 LET B$="GAMES"
7622 LET C$="UNSAFE"
7623 LET D$="AUTOMOBEEL"
7624 LET E$="HURT"
7625 LET N$="AUTOMOBILE"
7626 LET A=4
7629 RETURN
7630 LET A$="HORSE"
7631 LET B$="COW"
7632 LET C$="GOAT"
7633 LET D$="SHEEP"
7634 LET E$="DONKY"
7635 LET N$="DONKEY"
7636 LET A=5
7639 RETURN
7640 LET A$="SCHOOL"
7641 LET B$="CLASSROOM"
7642 LET C$="LEARNING"
7643 LET D$="SHARING"
7644 LET E$="FREINDS"
7645 LET N$="FRIENDS"
7646 LET A=5
7649 RETURN
7650 LET A$="BASEBALL"
7651 LET B$="SOCCER"
7652 LET C$="BALOONS"
7653 LET D$="BALLET"
7654 LET E$="JUMPROPE"
7655 LET N$="BALLOONS"
7656 LET A=3
7659 RETURN
7660 LET A$="WIKED"
7661 LET B$="NICE"
7662 LET C$="MEAN"
7663 LET D$="GOOD"
7664 LET E$="LOVE"
7665 LET N$="WICKED"
7666 LET A=1
7669 RETURN
7670 LET A$="FEBUARY"
7671 LET B$="AUGUST"
7672 LET C$="NOVEMBER"
7673 LET D$="APRIL"
7674 LET E$="MAY"
7675 LET N$="FEBRUARY"
7676 LET A=1
7679 RETURN
7680 LET A$="FRIDAY"
7681 LET B$="WENSDAY"
7682 LET C$="SUNDAY"
7683 LET D$="MONDAY"
7684 LET E$="SATURDAY"
7685 LET N$="WEDNESDAY"
7686 LET A=2
7689 RETURN
7690 LET A$="APPLE"
7691 LET B$="ORANGE"
7692 LET C$="PEACH"
7693 LET D$="PLUMB"
7694 LET E$="PEAR"
7695 LET N$="PLUM"
7696 LET A=4
7699 RETURN
7700 LET A$="PHONE"
7701 LET B$="HOME"
7702 LET C$="PLANET"
7703 LET D$="UNIVERS"
7704 LET E$="STAR"
7705 LET N$="UNIVERSE"
7706 LET A=4
7709 RETURN
7710 LET A$="DOCTOR"
7711 LET B$="FARMER"
7712 LET C$="POLICEMAN"
7713 LET D$="FIREMAN"
7714 LET E$="ASTRONOT"
7715 LET N$="ASTRONAUT"
7716 LET A=5
7719 RETURN
7720 LET A$="SIENCE"
7721 LET B$="ENGLISH"
7722 LET C$="MATH"
7723 LET D$="HISTORY"
7724 LET E$="ART"
7725 LET N$="SCIENCE"
7726 LET A=1
7729 RETURN
7730 LET A$="COMPUTER"
7731 LET B$="FUTURE"
7732 LET C$="NUMBRS"
7733 LET D$="SPEED"
7734 LET E$="ALIVE"
7735 LET N$="NUMBERS"
7736 LET A=3
7739 RETURN
7740 LET A$="REST"
7741 LET B$="TIERD"
7742 LET C$="SLEEP"
7743 LET D$="YAWN"
7744 LET E$="BED"
7745 LET N$="TIRED"
7746 LET A=2
7749 RETURN
8999 STOP
9000 SAVE "SPELL[1]"
9010 GOTO 1
1 SLOW
10 REM SPELLING BEE
700 LET C=0
720 REM [W][=][N][U][M][B][E][R]█[O][F]█[S][E][T][S]
730 LET W=25
740 DIM X$(W+1)
750 LET X$="00000000000000000000000000"
820 LET BS=0
825 LET BT=1
826 LET BU=2
827 LET BV=3
828 LET BW=4
829 LET BX=5
830 PRINT AT 11,BW;"PRESS ANY KEY TO BEGIN"
840 PRINT AT 11,BW;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N]"
850 LET Q$=INKEY$
860 IF Q$="" THEN GOTO 830
900 LET Z$="▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚"
910 FOR R=BT TO 18
920 LET Z$=Z$+"▚▚ ▚▚"
930 NEXT R
940 LET Z$=Z$+"▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚"
950 LET I$="00"
960 LET J$="00"
1000 REM [M][E][N][U]
1010 PRINT AT BS,BS;Z$
1050 PRINT AT BU,BW;"THE SPELLING BEE."
1055 PRINT AT BW,BW;"HERE ARE YOUR OPTIONS:"
1060 PRINT AT 6,BV;"1..TAKE A TEST"
1070 PRINT AT 8,BV;"2..CHECK SCORES"
1080 PRINT AT 10,BV;"3..LIST MISSPELLED WORDS"
1090 PRINT AT 12,BV;"4..PRACTICE MISSPELLED";TAB 6;"WORD LIST"
1100 PRINT AT 15,BV;"5..SAVE THE PROGRAM"
1105 PRINT AT 17,BV;"6..QUIT THE PROGRAM"
1110 PRINT AT 19,BW;"█[Y][O][U][R]█[D][E][C][I][S][I][O][N][,]█[P][L][E][A][S][E][?]█"
1120 PRINT AT 19,BW;" YOUR DECISION, PLEASE? "
1130 LET Q$=INKEY$
1140 IF Q$="" THEN GOTO 1110
1150 IF Q$>"6" OR Q$<"1" THEN GOTO 1110
1200 GOTO 500+1000*VAL Q$
1500 REM █[T][H][E]█[T][E][S][T]█
1510 LET J=0
1520 LET I=0
1530 LET C=C+1
1600 PRINT AT BS,BS;Z$
1610 PRINT AT BV,BW;"PRESS ""0"" IF YOU WANT";TAB BW;"THE EASY VERSION"
1620 PRINT AT 6,BW;"PRESS ""1"" IF YOU WANT";TAB BW;"THE DIFFICULT VERSION"
1630 LET L$=INKEY$
1640 IF L$>"1" OR L$<"0" THEN GOTO 1610
1650 LET L=VAL L$
1660 IF L=BS THEN PRINT AT 9,BX;"█[T][H][E]█[E][A][S][Y]█[T][E][S][T]█";AT 11,BW;"10 PROBLEMS:";TAB BW;"ONE OF THE FIVE WORDS";TAB BW;"IS SPELLED INCORRECTLY.";TAB BW;"FIND IT."
1670 IF L=BT THEN PRINT AT 9,BX;"█[T][H][E]█[D][I][F][F][I][C][U][L][T]█[T][E][S][T]█";AT 11,BW;"10 PROBLEMS:";TAB BW;"ONE OF THE FIVE WORDS";TAB BW;"IS SPELLED INCORRECTLY.";TAB BW;"FIND IT AND SPELL IT."
1680 PRINT AT 16,BV;"█[H][I][T]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N][.][.][.]█"
1690 LET Q$=INKEY$
1700 IF Q$="" THEN GOTO 1690
1730 DIM A$(12)
1740 DIM B$(12)
1750 DIM C$(12)
1760 DIM D$(12)
1770 DIM E$(12)
1780 DIM N$(12)
1790 DIM R$(W)
1794 LET WS=10
1796 IF W<WS THEN LET WS=W
1800 FOR R=BT TO WS
1805 PRINT AT BS,BS;Z$
1810 LET P=INT (RND*W)
1815 IF R$(P+BT)="1" THEN GOTO 1810
1820 GOSUB 7500+10*P
1830 LET R$(P+BT)="1"
1840 PRINT AT BU,BU;"PROBLEM ";R
1850 PRINT AT BW,BW;"WHICH OF THESE WORDS";TAB BW;"IS SPELLED INCORRECTLY?"
1860 PRINT AT 8,BW;"1..";A$;AT 10,BW;"2..";B$;AT 12,BW;"3..";C$;AT 14,BW;"4..";D$;AT 16,BW;"5..";E$
1870 LET Q$=INKEY$
1880 IF Q$="" OR Q$>"5" OR Q$<"1" THEN GOTO 1870
1882 IF VAL Q$=BT THEN LET M$=A$
1883 IF VAL Q$=BU THEN LET M$=B$
1884 IF VAL Q$=BV THEN LET M$=C$
1885 IF VAL Q$=BW THEN LET M$=D$
1886 IF VAL Q$=BX THEN LET M$=E$
1890 IF VAL Q$=A THEN GOTO 2100
1895 LET Q=VAL Q$
1900 PRINT AT BS,BS;Z$
1910 PRINT AT BV,BV;"█[W][R][O][N][G]█";AT 7,BV;M$;TAB 16;N$;TAB BV;"WAS RIGHT";TAB 16;"WAS";TAB 16;"MISSPELLED."
1920 PRINT AT 12,BW;A$;TAB BW;B$;TAB BW;C$;TAB BW;D$;TAB BW;E$
2000 LET I=I+BT
2005 LET X$(P+BT)=STR$ Q
2010 FOR S=BS TO 21
2020 PRINT AT S,27;"[W][R][O][N][G]"
2030 NEXT S
2040 PRINT AT 18,BU;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[O][N]"
2050 LET Q$=INKEY$
2060 IF Q$="" THEN GOTO 2050
2070 NEXT R
2080 GOTO 2400
2100 PRINT AT BS,BS;Z$
2110 PRINT AT BW,9;"█[C][O][R][R][E][C][T]█"
2120 IF L=BS THEN GOTO 2200
2130 PRINT AT 7,BV;"WHAT IS THE PROPER";TAB BV;"SPELLING OF ";M$;"?"
2135 PRINT AT BW,10;"CORRECT"
2140 PRINT AT 11,BV;"(TYPE THE ANSWER AND";TAB BW;"THEN PRESS RETURN)"
2145 DIM O$(12)
2150 INPUT O$
2155 PRINT AT 11,BV;" ";TAB BW;" "
2157 IF O$=N$ THEN PRINT AT 10,BX;N$;" IS RIGHT."
2160 IF O$=N$ THEN GOTO 2210
2165 LET Q=6
2170 PRINT AT 11,10;"█[W][R][O][N][G]█";TAB BW;"THE PROPER SPELLING IS";TAB BW;"NOT ";O$;AT 15,BW;"THE PROPER SPELLING IS";TAB BW;N$
2180 GOTO 2000
2200 PRINT AT 7,BW;"THE PROPER SPELLING IS";AT 10,10;N$
2210 LET J=J+BT
2215 PRINT AT 12,BV;A$;TAB BV;B$;TAB BV;C$;TAB BV;D$;TAB BV;E$
2220 FOR S=BT TO 22
2230 PRINT AT S-BT,27;"[R][I][G][H][T]"
2240 NEXT S
2250 IF VAL X$(P+BT)>0 THEN PRINT AT 12,16;"MUCH BETTER";TAB 17;"YOU MISSED";TAB 17;"THIS ONE";TAB 17;"LAST TIME."
2260 LET X$(P+BT)="0"
2270 PRINT AT 18,BU;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[O][N]█"
2280 LET Q$=INKEY$
2290 IF Q$="" THEN GOTO 2280
2300 NEXT R
2310 REM [E][N][D]█[O][F]█[T][E][S][T]
2400 PRINT AT BS,BS;Z$
2410 PRINT AT BW,BW;"█[T][H][E]█[T][E][S][T]█[H][A][S]█[E][N][D][E][D]█"
2420 PRINT AT 8,4;"YOU SCORED ";J;" CORRECT";AT 11,BW;"AND ";I;" INCORRECT."
2430 PRINT AT 15,8;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█";TAB 6;"█[T][O]█[R][E][T][U][R][N]█[T][O]█[M][E][N][U]█"
2440 LET I$=I$+STR$ (INT (I/10))+STR$ (I-(INT (I/10)*10))
2450 LET J$=J$+STR$ (INT (J/10))+STR$ (J-(INT (J/10)*10))
2460 LET Q$=INKEY$
2470 IF Q$="" THEN GOTO 2460
2480 GOTO 1000
2500 REM █[S][C][O][R][E][S]█
2540 LET U=BT
2550 IF C>10 THEN LET U=C-9
2600 PRINT AT BS,BS;Z$
2610 PRINT AT BV,10;"█[S][C][O][R][E][S]█"
2620 PRINT AT BX,9;"RIGHT█";TAB 15;"WRONG█";TAB 21;"PERCENT"
2700 FOR R=U TO C
2720 PRINT AT R+6,BV;"TEST ";R;TAB 12;(VAL J$(R*2+1)*10)+(VAL J$(R*2+2));TAB 18;(VAL I$(R*2+1)*10)+(VAL I$(R*2+2));TAB 26;INT (100*(VAL J$(R*2+1)*10+VAL J$(R*2+2))/WS)
2740 NEXT R
2800 PRINT AT 18,BU;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[T][O]█[M][E][N][U]"
2810 IF INKEY$ ="" THEN GOTO 2810
2820 GOTO 1000
3500 REM █[L][I][S][T]█[M][I][S][S][P][E][L][L][E][D]█[W][O][R][D][S]█
3505 IF VAL X$=0 THEN GOTO 1000
3510 LET B=3
3520 PRINT AT BS,BS;Z$
3530 PRINT AT BX,BX;"DO YOU WANT TO PRINT";TAB BX;"THESE WORDS ON THE";TAB BX;"PRINTER?";AT 10,BX;"(Y/N)"
3535 IF INKEY$ ="Y" THEN LET L=1
3540 IF INKEY$ ="N" THEN LET L=0
3545 IF INKEY$ ="" THEN GOTO 3535
3547 PRINT AT BS,BS;Z$
3550 FOR R=1 TO W+1
3560 IF B>15 THEN GOTO 4000
3570 IF R>W THEN GOTO 4200
3610 IF X$(R)="0" THEN NEXT R
3620 GOSUB 7500+10*(R-1)
3630 IF X$(R)="6" THEN GOTO 3800
3640 IF L=1 THEN GOTO 4400
3670 IF X$(R)="1" THEN PRINT AT B,BU;A$;TAB 16;N$
3680 IF X$(R)="2" THEN PRINT AT B,BU;B$;TAB 16;N$
3700 IF X$(R)="3" THEN PRINT AT B,BU;C$;TAB 16;N$
3710 IF X$(R)="4" THEN PRINT AT B,BU;D$;TAB 16;N$
3720 IF X$(R)="5" THEN PRINT AT B,BU;E$;TAB 16;N$
3780 LET B=B+BT
3790 NEXT R
3795 GOTO 4200
3800 IF L=0 THEN PRINT AT B,BU;N$
3805 IF L=1 THEN LPRINT TAB BU;N$
3810 LET B=B+1
3820 NEXT R
3830 GOTO 4200
4000 IF L=1 THEN GOTO 4050
4005 PRINT AT 17,BV;"█[T][H][E][R][E]█[A][R][E]█[M][O][R][E][.]█[P][R][E][S][S]█";TAB BW;"█["][P]["]█[T][O]█[C][O][N][T][I][N][U][E][,]█[O][R]█";TAB BV;"█["][Q]["]█[T][O]█[R][E][T][U][R][N]█[T][O]█[M][E][N][U]█"
4010 IF INKEY$ ="Q" THEN GOTO 1000
4020 IF INKEY$ ="P" THEN GOTO 4040
4030 GOTO 4010
4040 PRINT AT BS,BS;Z$
4050 LET B=3
4060 GOTO 3560
4200 IF L=1 THEN GOTO 4470
4205 PRINT AT 18,BU;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O][T][O]█[M][E][N][U]█"
4210 IF INKEY$ ="" THEN GOTO 4210
4220 GOTO 1000
4400 CLS
4405 IF VAL X$(R)=1 THEN LPRINT TAB BU;A$;TAB 16;N$
4410 IF VAL X$(R)=2 THEN LPRINT TAB BU;B$;TAB 16;N$
4420 IF VAL X$(R)=3 THEN LPRINT TAB BU;C$;TAB 16;N$
4430 IF VAL X$(R)=4 THEN LPRINT TAB BU;D$;TAB 16;N$
4440 IF VAL X$(R)=5 THEN LPRINT TAB BU;E$;TAB 16;N$
4450 LET B=B+BT
4460 NEXT R
4470 LET L=0
4475 LET B=3
4480 GOTO 3547
4500 REM █[P][R][A][C][T][I][C][E]█
4510 IF VAL X$=0 THEN GOTO 1000
4520 LET J=0
4530 LET I=0
4540 PRINT AT BS,BS;Z$
4545 PRINT AT BV,BW;"PRESS ""0"" IF YOU WANT";TAB BW;"THE EASY VERSION"
4550 PRINT AT 6,BW;"PRESS ""1"" IF YOU WANT";TAB BW;"THE DIFFICULT VERSION"
4555 LET L$=INKEY$
4560 IF L$>"1" OR L$<"0" THEN GOTO 4555
4565 LET L=VAL L$
4580 PRINT AT 10,BW;"THE WORDS YOU CURRENTLY";TAB BW;"HAVE WRONG WILL NOW BE";TAB BW;"REVIEWED."
4590 PRINT AT 18,BV;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N]█"
4595 IF INKEY$ ="" THEN GOTO 4595
4600 FOR R=1 TO W+1
4610 IF VAL X$(R)=0 THEN NEXT R
4620 IF R>W THEN GOTO 1000
4630 PRINT AT BS,BS;Z$
4640 GOSUB 7500+10*(R-BT)
4650 GOTO 1840
4700 IF R>W THEN GOTO 1000
5500 PRINT AT BS,BS;Z$
5510 PRINT AT BX,BX;"START THE TAPE";TAB BX;"ON RECORD";AT 9,BX;"THEN PRESS ANY KEY"
5520 IF INKEY$ ="" THEN GOTO 5520
5530 SAVE "SPELL"
5540 GOTO 1000
5555 STOP
6500 PRINT AT BS,BS;Z$
6510 PRINT AT BX,BX;"DO YOU WANT TO QUIT?";AT 8,BX;"(Y/N)"
6520 IF INKEY$ ="Y" THEN STOP
6530 IF INKEY$ ="N" THEN GOTO 1000
6540 GOTO 6520
7499 STOP
7500 LET A$="PICHER"
7501 LET B$="PICTURE"
7502 LET C$="PUNCTURE"
7503 LET D$="FRACTURE"
7504 LET E$="MATURE"
7505 LET N$="PITCHER"
7506 LET A=1
7509 RETURN
7510 LET A$="SPECIAL"
7511 LET B$="MISSION"
7512 LET C$="FISHURE"
7513 LET D$="PASTURE"
7514 LET E$="MARSHAL"
7515 LET N$="FISSURE"
7516 LET A=3
7519 RETURN
7520 LET A$="HYDROGEN"
7521 LET B$="CARBON"
7522 LET C$="ALUMMINUM"
7523 LET D$="NITROGEN"
7524 LET E$="OXYGEN"
7525 LET N$="ALUMINUM"
7526 LET A=3
7529 RETURN
7530 LET A$="FRIEND"
7531 LET B$="FIEND"
7532 LET C$="GRIEVE"
7533 LET D$="NEIGHBOR"
7534 LET E$="RECIEVE"
7535 LET N$="RECEIVE"
7536 LET A=5
7539 RETURN
7540 LET A$="PACK"
7541 LET B$="PLAQUE"
7542 LET C$="STICK"
7543 LET D$="SPARCK"
7544 LET E$="SHOCK"
7545 LET N$="SPARK"
7546 LET A=4
7549 RETURN
7550 LET A$="AFRICA"
7551 LET B$="INDIA"
7552 LET C$="EUROPE"
7553 LET D$="CHINA"
7554 LET E$="GREESE"
7555 LET N$="GREECE"
7556 LET A=5
7559 RETURN
7560 LET A$="TURKEY"
7561 LET B$="PINKEY"
7562 LET C$="SHAKY"
7563 LET D$="CURLY"
7564 LET E$="HAPPY"
7565 LET N$="PINKIE"
7566 LET A=2
7569 RETURN
7570 LET A$="SPIDER"
7571 LET B$="INSECT"
7572 LET C$="BUTTERFLY"
7573 LET D$="TERMITE"
7574 LET E$="COCKAROACH"
7575 LET N$="COCKROACH"
7576 LET A=5
7579 RETURN
7580 LET A$="MUSCLE"
7581 LET B$="STOMACK"
7582 LET C$="TONGUE"
7583 LET D$="LIVER"
7584 LET E$="SHOULDER"
7585 LET N$="STOMACH"
7586 LET A=2
7589 RETURN
7590 LET A$="PLUTO"
7591 LET B$="VENUS"
7592 LET C$="SATURN"
7593 LET D$="JUPITRE"
7594 LET E$="MERCURY"
7595 LET N$="JUPITER"
7596 LET A=4
7599 RETURN
7600 LET A$="HUNDRED"
7601 LET B$="THOUSAND"
7602 LET C$="MILLION"
7603 LET D$="FOURTY"
7604 LET E$="SEVENTY"
7605 LET N$="FORTY"
7606 LET A=4
7609 RETURN
7610 LET A$="MEASURE"
7611 LET B$="GRAPH"
7612 LET C$="DEVIDE"
7613 LET D$="WEIGH"
7614 LET E$="ESTIMATE"
7615 LET N$="DIVIDE"
7616 LET A=3
7619 RETURN
7620 LET A$="VIKING"
7621 LET B$="CRUSADE"
7622 LET C$="PILGRAMAGE"
7623 LET D$="CONQUEST"
7624 LET E$="MIGRATION"
7625 LET N$="PILGRIMAGE"
7626 LET A=3
7629 RETURN
7630 LET A$="ROMAN"
7631 LET B$="EGYPTION"
7632 LET C$="GERMAN"
7633 LET D$="MEXICAN"
7634 LET E$="JAPANESE"
7635 LET N$="EGYPTIAN"
7636 LET A=2
7639 RETURN
7640 LET A$="GOVERMENT"
7641 LET B$="HOLIDAY"
7642 LET C$="SANCTUARY"
7643 LET D$="VACATION"
7644 LET E$="PRESIDENT"
7645 LET N$="GOVERNMENT"
7646 LET A=1
7649 RETURN
7650 LET A$="MASTER"
7651 LET B$="TEACHER"
7652 LET C$="STUDENT"
7653 LET D$="INSTRUCTER"
7654 LET E$="TUTOR"
7655 LET N$="INSTRUCTOR"
7656 LET A=4
7659 RETURN
7660 LET A$="COUSIN"
7661 LET B$="RELITIVE"
7662 LET C$="NEPHEW"
7663 LET D$="GRANDMOTHER"
7664 LET E$="SIBLING"
7665 LET N$="RELATIVE"
7666 LET A=2
7669 RETURN
7670 LET A$="WILLOW"
7671 LET B$="SYCAMORE"
7672 LET C$="SASAFRAS"
7673 LET D$="MAPLE"
7674 LET E$="ELM"
7675 LET N$="SASSAFRAS"
7676 LET A=3
7679 RETURN
7680 LET A$="DOLPHIN"
7681 LET B$="PORPOUS"
7682 LET C$="PROPOSE"
7683 LET D$="PURPOSE"
7684 LET E$="FLOUNDER"
7685 LET N$="PORPOISE"
7686 LET A=2
7689 RETURN
7690 LET A$="ELEPHANT"
7691 LET B$="ORANGE"
7692 LET C$="HIPPOPOTAMUS"
7693 LET D$="RINOCEROS"
7694 LET E$="POLAR BEAR"
7695 LET N$="RHINOCEROS"
7696 LET A=4
7699 RETURN
7700 LET A$="BUSY"
7701 LET B$="BUILDING"
7702 LET C$="BUISNESS"
7703 LET D$="FRUITFUL"
7704 LET E$="FLUID"
7705 LET N$="BUSINESS"
7706 LET A=3
7709 RETURN
7710 LET A$="PICTUREBOOK"
7711 LET B$="SANDCASTLE"
7712 LET C$="NIGHT LIGHT"
7713 LET D$="FIRE ALARM"
7714 LET E$="CENTER FIELD"
7715 LET N$="PICTURE BOOK"
7716 LET A=1
7719 RETURN
7720 LET A$="BLUE-RIBBON"
7721 LET B$="BLUE CHEESE"
7722 LET C$="BOBBY PIN"
7723 LET D$="BLUEBERRY"
7724 LET E$="BLUEJAY"
7725 LET N$="BLUE JAY"
7726 LET A=5
7729 RETURN
7730 LET A$="SIXTY-ONE"
7731 LET B$="WILD RICE"
7732 LET C$="GO-CART"
7733 LET E$="PEA SHOOTER"
7734 LET D$="HOMESICK"
7735 LET N$="PEASHOOTER"
7736 LET A=5
7739 RETURN
7740 LET A$="SEMICOLON"
7741 LET B$="HYPHIN"
7742 LET C$="PERIOD"
7743 LET D$="PUNCTUATION"
7744 LET E$="PARAGRAPH"
7745 LET N$="HYPHEN"
7746 LET A=2
7749 RETURN
8999 STOP
9000 SAVE "SPELL[2]"
9010 GOTO 1
1 SLOW
10 REM SPELLING BEE
700 LET C=0
720 REM [W][=][N][U][M][B][E][R]█[O][F]█[S][E][T][S]
730 LET W=25
740 DIM X$(W+1)
750 LET X$="00000000000000000000000000"
820 LET BS=0
825 LET BT=1
826 LET BU=2
827 LET BV=3
828 LET BW=4
829 LET BX=5
830 PRINT AT 11,BW;"PRESS ANY KEY TO BEGIN"
840 PRINT AT 11,BW;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N]"
850 LET Q$=INKEY$
860 IF Q$="" THEN GOTO 830
900 LET Z$="▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚"
910 FOR R=BT TO 18
920 LET Z$=Z$+"▚▚ ▚▚"
930 NEXT R
940 LET Z$=Z$+"▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚"
950 LET I$="00"
960 LET J$="00"
1000 REM [M][E][N][U]
1010 PRINT AT BS,BS;Z$
1050 PRINT AT BU,BW;"THE SPELLING BEE."
1055 PRINT AT BW,BW;"HERE ARE YOUR OPTIONS:"
1060 PRINT AT 6,BV;"1..TAKE A TEST"
1070 PRINT AT 8,BV;"2..CHECK SCORES"
1080 PRINT AT 10,BV;"3..LIST MISSPELLED WORDS"
1090 PRINT AT 12,BV;"4..PRACTICE MISSPELLED";TAB 6;"WORD LIST"
1100 PRINT AT 15,BV;"5..SAVE THE PROGRAM"
1105 PRINT AT 17,BV;"6..QUIT THE PROGRAM"
1110 PRINT AT 19,BW;"█[Y][O][U][R]█[D][E][C][I][S][I][O][N][,]█[P][L][E][A][S][E][?]█"
1120 PRINT AT 19,BW;" YOUR DECISION, PLEASE? "
1130 LET Q$=INKEY$
1140 IF Q$="" THEN GOTO 1110
1150 IF Q$>"6" OR Q$<"1" THEN GOTO 1110
1200 GOTO 500+1000*VAL Q$
1500 REM █[T][H][E]█[T][E][S][T]█
1510 LET J=0
1520 LET I=0
1530 LET C=C+1
1600 PRINT AT BS,BS;Z$
1610 PRINT AT BV,BW;"PRESS ""0"" IF YOU WANT";TAB BW;"THE EASY VERSION"
1620 PRINT AT 6,BW;"PRESS ""1"" IF YOU WANT";TAB BW;"THE DIFFICULT VERSION"
1630 LET L$=INKEY$
1640 IF L$>"1" OR L$<"0" THEN GOTO 1610
1650 LET L=VAL L$
1660 IF L=BS THEN PRINT AT 9,BX;"█[T][H][E]█[E][A][S][Y]█[T][E][S][T]█";AT 11,BW;"10 PROBLEMS:";TAB BW;"ONE OF THE FIVE WORDS";TAB BW;"IS SPELLED INCORRECTLY.";TAB BW;"FIND IT."
1670 IF L=BT THEN PRINT AT 9,BX;"█[T][H][E]█[D][I][F][F][I][C][U][L][T]█[T][E][S][T]█";AT 11,BW;"10 PROBLEMS:";TAB BW;"ONE OF THE FIVE WORDS";TAB BW;"IS SPELLED INCORRECTLY.";TAB BW;"FIND IT AND SPELL IT."
1680 PRINT AT 16,BV;"█[H][I][T]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N][.][.][.]█"
1690 LET Q$=INKEY$
1700 IF Q$="" THEN GOTO 1690
1730 DIM A$(12)
1740 DIM B$(12)
1750 DIM C$(12)
1760 DIM D$(12)
1770 DIM E$(12)
1780 DIM N$(12)
1790 DIM R$(W)
1794 LET WS=10
1796 IF W<WS THEN LET WS=W
1800 FOR R=BT TO WS
1805 PRINT AT BS,BS;Z$
1810 LET P=INT (RND*W)
1815 IF R$(P+BT)="1" THEN GOTO 1810
1820 GOSUB 7500+10*P
1830 LET R$(P+BT)="1"
1840 PRINT AT BU,BU;"PROBLEM ";R
1850 PRINT AT BW,BW;"WHICH OF THESE WORDS";TAB BW;"IS SPELLED INCORRECTLY?"
1860 PRINT AT 8,BW;"1..";A$;AT 10,BW;"2..";B$;AT 12,BW;"3..";C$;AT 14,BW;"4..";D$;AT 16,BW;"5..";E$
1870 LET Q$=INKEY$
1880 IF Q$="" OR Q$>"5" OR Q$<"1" THEN GOTO 1870
1882 IF VAL Q$=BT THEN LET M$=A$
1883 IF VAL Q$=BU THEN LET M$=B$
1884 IF VAL Q$=BV THEN LET M$=C$
1885 IF VAL Q$=BW THEN LET M$=D$
1886 IF VAL Q$=BX THEN LET M$=E$
1890 IF VAL Q$=A THEN GOTO 2100
1895 LET Q=VAL Q$
1900 PRINT AT BS,BS;Z$
1910 PRINT AT BV,BV;"█[W][R][O][N][G]█";AT 7,BV;M$;TAB 16;N$;TAB BV;"WAS RIGHT";TAB 16;"WAS";TAB 16;"MISSPELLED."
1920 PRINT AT 12,BW;A$;TAB BW;B$;TAB BW;C$;TAB BW;D$;TAB BW;E$
2000 LET I=I+BT
2005 LET X$(P+BT)=STR$ Q
2010 FOR S=BS TO 21
2020 PRINT AT S,27;"[W][R][O][N][G]"
2030 NEXT S
2040 PRINT AT 18,BU;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[O][N]"
2050 LET Q$=INKEY$
2060 IF Q$="" THEN GOTO 2050
2070 NEXT R
2080 GOTO 2400
2100 PRINT AT BS,BS;Z$
2110 PRINT AT BW,9;"█[C][O][R][R][E][C][T]█"
2120 IF L=BS THEN GOTO 2200
2130 PRINT AT 7,BV;"WHAT IS THE PROPER";TAB BV;"SPELLING OF ";M$;"?"
2135 PRINT AT BW,10;"CORRECT"
2140 PRINT AT 11,BV;"(TYPE THE ANSWER AND";TAB BW;"THEN PRESS RETURN)"
2145 DIM O$(12)
2150 INPUT O$
2155 PRINT AT 11,BV;" ";TAB BW;" "
2157 IF O$=N$ THEN PRINT AT 10,BX;N$;" IS RIGHT."
2160 IF O$=N$ THEN GOTO 2210
2165 LET Q=6
2170 PRINT AT 11,10;"█[W][R][O][N][G]█";TAB BW;"THE PROPER SPELLING IS";TAB BW;"NOT ";O$;AT 15,BW;"THE PROPER SPELLING IS";TAB BW;N$
2180 GOTO 2000
2200 PRINT AT 7,BW;"THE PROPER SPELLING IS";AT 10,10;N$
2210 LET J=J+BT
2215 PRINT AT 12,BV;A$;TAB BV;B$;TAB BV;C$;TAB BV;D$;TAB BV;E$
2220 FOR S=BT TO 22
2230 PRINT AT S-BT,27;"[R][I][G][H][T]"
2240 NEXT S
2250 IF VAL X$(P+BT)>0 THEN PRINT AT 12,16;"MUCH BETTER";TAB 17;"YOU MISSED";TAB 17;"THIS ONE";TAB 17;"LAST TIME."
2260 LET X$(P+BT)="0"
2270 PRINT AT 18,BU;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[O][N]█"
2280 LET Q$=INKEY$
2290 IF Q$="" THEN GOTO 2280
2300 NEXT R
2310 REM [E][N][D]█[O][F]█[T][E][S][T]
2400 PRINT AT BS,BS;Z$
2410 PRINT AT BW,BW;"█[T][H][E]█[T][E][S][T]█[H][A][S]█[E][N][D][E][D]█"
2420 PRINT AT 8,4;"YOU SCORED ";J;" CORRECT";AT 11,BW;"AND ";I;" INCORRECT."
2430 PRINT AT 15,8;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█";TAB 6;"█[T][O]█[R][E][T][U][R][N]█[T][O]█[M][E][N][U]█"
2440 LET I$=I$+STR$ (INT (I/10))+STR$ (I-(INT (I/10)*10))
2450 LET J$=J$+STR$ (INT (J/10))+STR$ (J-(INT (J/10)*10))
2460 LET Q$=INKEY$
2470 IF Q$="" THEN GOTO 2460
2480 GOTO 1000
2500 REM █[S][C][O][R][E][S]█
2540 LET U=BT
2550 IF C>10 THEN LET U=C-9
2600 PRINT AT BS,BS;Z$
2610 PRINT AT BV,10;"█[S][C][O][R][E][S]█"
2620 PRINT AT BX,9;"RIGHT█";TAB 15;"WRONG█";TAB 21;"PERCENT"
2700 FOR R=U TO C
2720 PRINT AT R+6,BV;"TEST ";R;TAB 12;(VAL J$(R*2+1)*10)+(VAL J$(R*2+2));TAB 18;(VAL I$(R*2+1)*10)+(VAL I$(R*2+2));TAB 26;INT (100*(VAL J$(R*2+1)*10+VAL J$(R*2+2))/WS)
2740 NEXT R
2800 PRINT AT 18,BU;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[T][O]█[M][E][N][U]"
2810 IF INKEY$ ="" THEN GOTO 2810
2820 GOTO 1000
3500 REM █[L][I][S][T]█[M][I][S][S][P][E][L][L][E][D]█[W][O][R][D][S]█
3505 IF VAL X$=0 THEN GOTO 1000
3510 LET B=3
3520 PRINT AT BS,BS;Z$
3530 PRINT AT BX,BX;"DO YOU WANT TO PRINT";TAB BX;"THESE WORDS ON THE";TAB BX;"PRINTER?";AT 10,BX;"(Y/N)"
3535 IF INKEY$ ="Y" THEN LET L=1
3540 IF INKEY$ ="N" THEN LET L=0
3545 IF INKEY$ ="" THEN GOTO 3535
3547 PRINT AT BS,BS;Z$
3550 FOR R=1 TO W+1
3560 IF B>15 THEN GOTO 4000
3570 IF R>W THEN GOTO 4200
3610 IF X$(R)="0" THEN NEXT R
3620 GOSUB 7500+10*(R-1)
3630 IF X$(R)="6" THEN GOTO 3800
3640 IF L=1 THEN GOTO 4400
3670 IF X$(R)="1" THEN PRINT AT B,BU;A$;TAB 16;N$
3680 IF X$(R)="2" THEN PRINT AT B,BU;B$;TAB 16;N$
3700 IF X$(R)="3" THEN PRINT AT B,BU;C$;TAB 16;N$
3710 IF X$(R)="4" THEN PRINT AT B,BU;D$;TAB 16;N$
3720 IF X$(R)="5" THEN PRINT AT B,BU;E$;TAB 16;N$
3780 LET B=B+BT
3790 NEXT R
3795 GOTO 4200
3800 IF L=0 THEN PRINT AT B,BU;N$
3805 IF L=1 THEN LPRINT TAB BU;N$
3810 LET B=B+1
3820 NEXT R
3830 GOTO 4200
4000 IF L=1 THEN GOTO 4050
4005 PRINT AT 17,BV;"█[T][H][E][R][E]█[A][R][E]█[M][O][R][E][.]█[P][R][E][S][S]█";TAB BW;"█["][P]["]█[T][O]█[C][O][N][T][I][N][U][E][,]█[O][R]█";TAB BV;"█["][Q]["]█[T][O]█[R][E][T][U][R][N]█[T][O]█[M][E][N][U]█"
4010 IF INKEY$ ="Q" THEN GOTO 1000
4020 IF INKEY$ ="P" THEN GOTO 4040
4030 GOTO 4010
4040 PRINT AT BS,BS;Z$
4050 LET B=3
4060 GOTO 3560
4200 IF L=1 THEN GOTO 4470
4205 PRINT AT 18,BU;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O][T][O]█[M][E][N][U]█"
4210 IF INKEY$ ="" THEN GOTO 4210
4220 GOTO 1000
4400 CLS
4405 IF VAL X$(R)=1 THEN LPRINT TAB BU;A$;TAB 16;N$
4410 IF VAL X$(R)=2 THEN LPRINT TAB BU;B$;TAB 16;N$
4420 IF VAL X$(R)=3 THEN LPRINT TAB BU;C$;TAB 16;N$
4430 IF VAL X$(R)=4 THEN LPRINT TAB BU;D$;TAB 16;N$
4440 IF VAL X$(R)=5 THEN LPRINT TAB BU;E$;TAB 16;N$
4450 LET B=B+BT
4460 NEXT R
4470 LET L=0
4480 LET B=3
4490 GOTO 3547
4500 REM █[P][R][A][C][T][I][C][E]█
4510 IF VAL X$=0 THEN GOTO 1000
4520 LET J=0
4530 LET I=0
4540 PRINT AT BS,BS;Z$
4545 PRINT AT BV,BW;"PRESS ""0"" IF YOU WANT";TAB BW;"THE EASY VERSION"
4550 PRINT AT 6,BW;"PRESS ""1"" IF YOU WANT";TAB BW;"THE DIFFICULT VERSION"
4555 LET L$=INKEY$
4560 IF L$>"1" OR L$<"0" THEN GOTO 4555
4565 LET L=VAL L$
4580 PRINT AT 10,BW;"THE WORDS YOU CURRENTLY";TAB BW;"HAVE WRONG WILL NOW BE";TAB BW;"REVIEWED."
4590 PRINT AT 18,BV;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N]█"
4595 IF INKEY$ ="" THEN GOTO 4595
4600 FOR R=BT TO W
4610 IF VAL X$(R)=0 THEN NEXT R
4620 IF R>W THEN GOTO 1000
4630 PRINT AT BS,BS;Z$
4640 GOSUB 7500+10*(R-BT)
4650 GOTO 1840
4700 IF R>W THEN GOTO 1000
5500 PRINT AT BS,BS;Z$
5510 PRINT AT BX,BX;"START THE TAPE";TAB BX;"ON RECORD";AT 9,BX;"THEN PRESS ANY KEY"
5520 IF INKEY$ ="" THEN GOTO 5520
5530 SAVE "SPELL"
5540 GOTO 1000
5555 STOP
6500 PRINT AT BS,BS;Z$
6510 PRINT AT BX,BX;"DO YOU WANT TO QUIT?";AT 8,BX;"(Y/N)"
6520 IF INKEY$ ="Y" THEN STOP
6530 IF INKEY$ ="N" THEN GOTO 1000
6540 GOTO 6520
7499 STOP
7500 LET A$="RHYTHM"
7501 LET B$="RHYME"
7502 LET C$="WRONG"
7503 LET D$="COPYWRITE"
7504 LET E$="WRITTEN"
7505 LET N$="COPYRIGHT"
7506 LET A=4
7509 RETURN
7510 LET A$="KEPT"
7511 LET B$="GREETED"
7512 LET C$="SLEPT"
7513 LET D$="BEEPED"
7514 LET E$="LEPT"
7515 LET N$="LEAPED"
7516 LET A=5
7519 RETURN
7520 LET A$="INNATE"
7521 LET B$="INMATE"
7522 LET C$="IMMORAL"
7523 LET D$="UNIMAGINABLE"
7524 LET E$="INOVATION"
7525 LET N$="INNOVATION"
7526 LET A=5
7529 RETURN
7530 LET A$="ROMANESQUE"
7531 LET B$="RENNAISSANCE"
7532 LET C$="MIDIEVAL"
7533 LET D$="GRECIAN"
7534 LET E$="BAROQUE"
7535 LET N$="RENAISSANCE"
7536 LET A=2
7539 RETURN
7540 LET A$="SOCIOLOGY"
7541 LET B$="PSYCHOLOGY"
7542 LET C$="ANTHRAPOLOGY"
7543 LET D$="ARCHAEOLOGY"
7544 LET E$="ZOOLOGY"
7545 LET N$="ANTHROPOLOGY"
7546 LET A=3
7549 RETURN
7550 LET A$="PRESINCT"
7551 LET B$="PRESIDENT"
7552 LET C$="PRESENTS"
7553 LET D$="PRESENCE"
7554 LET E$="PEASANTS"
7555 LET N$="PRECINCT"
7556 LET A=1
7559 RETURN
7560 LET A$="PROMISCUOUS"
7561 LET B$="PREDECESSOR"
7562 LET C$="POSESSION"
7563 LET D$="PROGRESS"
7564 LET E$="PRECARIOUS"
7565 LET N$="POSSESSION"
7566 LET A=3
7569 RETURN
7570 LET A$="ANTIQUE"
7571 LET B$="HEIRLOOM"
7572 LET C$="ARCHAEISM"
7573 LET D$="ANCIENT"
7574 LET E$="ANCESTRAL"
7575 LET N$="ARCHAISM"
7576 LET A=3
7579 RETURN
7580 LET A$="ALLOW"
7581 LET B$="FOLLOW"
7582 LET C$="CONTROLL"
7583 LET D$="JOURNAL"
7584 LET E$="KERNAL"
7585 LET N$="CONTROL"
7586 LET A=3
7589 RETURN
7590 LET A$="DISECTION"
7591 LET B$="DIVERSE"
7592 LET C$="DIVIDE"
7593 LET D$="RESPECTABLE"
7594 LET E$="MISLED"
7595 LET N$="DISSECTION"
7596 LET A=1
7599 RETURN
7600 LET A$="DYNASTY"
7601 LET B$="SYMPATHY"
7602 LET C$="THYROID"
7603 LET D$="BYCICLE"
7604 LET E$="LYRICAL"
7605 LET N$="BICYCLE"
7606 LET A=4
7609 RETURN
7610 LET A$="APPITITE"
7611 LET B$="APPLEJUICE"
7612 LET C$="APPOINTMENT"
7613 LET D$="APOSTROPHE"
7614 LET E$="TROPHY"
7615 LET N$="APPETITE"
7616 LET A=1
7619 RETURN
7620 LET A$="DELUSION"
7621 LET B$="ALUSION"
7622 LET C$="ILLUSION"
7623 LET D$="ILLUSTRATION"
7624 LET E$="ILLUMINATION"
7625 LET N$="ALLUSION"
7626 LET A=2
7629 RETURN
7630 LET A$="FANTASTIC"
7631 LET B$="FANATIC"
7632 LET C$="ADOLESCENT"
7633 LET D$="MANAGING"
7634 LET E$="PANARAMA"
7635 LET N$="PANORAMA"
7636 LET A=5
7639 RETURN
7640 LET A$="SPIRITUAL"
7641 LET B$="IRITATE"
7642 LET C$="CERTAIN"
7643 LET D$="CURTAIN"
7644 LET E$="GORILLA"
7645 LET N$="IRRITATE"
7646 LET A=2
7649 RETURN
7650 LET A$="MAJORITY"
7651 LET B$="GOGGLES"
7652 LET C$="STAGGERING"
7653 LET D$="CATAGORY"
7654 LET E$="MAGNIFY"
7655 LET N$="CATEGORY"
7656 LET A=4
7659 RETURN
7660 LET A$="ATLANTIC"
7661 LET B$="PACIFIC"
7662 LET C$="ARTIC"
7663 LET D$="INDIAN"
7664 LET E$="CASPIAN"
7665 LET N$="ARCTIC"
7666 LET A=3
7669 RETURN
7670 LET A$="FORETELL"
7671 LET B$="THOUGHTFUL"
7672 LET C$="MOUTHFULL"
7673 LET D$="THANKFUL"
7674 LET E$="THANKFULLY"
7675 LET N$="MOUTHFUL"
7676 LET A=3
7679 RETURN
7680 LET A$="PARRALLEL"
7681 LET B$="DINNERTIME"
7682 LET C$="PROFESSOR"
7683 LET D$="DESSERTSPOON"
7684 LET E$="IMMIGRANT"
7685 LET N$="PARALLEL"
7686 LET A=1
7689 RETURN
7690 LET A$="CONSCIENCE"
7691 LET B$="CONCIOUS"
7692 LET C$="PATIENCE"
7693 LET D$="ANXIOUS"
7694 LET E$="CAUTIOUS"
7695 LET N$="CONSCIOUS"
7696 LET A=2
7699 RETURN
7700 LET A$="CONFECTION"
7701 LET B$="DIRECTION"
7702 LET C$="EXPAND"
7703 LET D$="CONECTION"
7704 LET E$="PERFECTION"
7705 LET N$="CONNECTION"
7706 LET A=4
7709 RETURN
7710 LET A$="INTELLIGIBLE"
7711 LET B$="EXHAUSTIBLE"
7712 LET C$="PERISHABLE"
7713 LET D$="LAUGHABLE"
7714 LET E$="COMPATABLE"
7715 LET N$="COMPATIBLE"
7716 LET A=5
7719 RETURN
7720 LET A$="JUDGEMENT"
7721 LET B$="MERRIMENT"
7722 LET C$="COMPLIMENT"
7723 LET D$="COMPLEMENT"
7724 LET E$="INSTRUMENT"
7725 LET N$="JUDGMENT"
7726 LET A=1
7729 RETURN
7730 LET A$="LOVELY"
7731 LET B$="SHYLY"
7732 LET C$="SUDDENLY"
7733 LET D$="BEAUTIFULY"
7734 LET E$="VALLEY"
7735 LET N$="BEAUTIFULLY"
7736 LET A=4
7739 RETURN
7740 LET A$="LETTING"
7741 LET B$="COMMING"
7742 LET C$="SWIMMING"
7743 LET D$="CROSSING"
7744 LET E$="SLIPPING"
7745 LET N$="COMING"
7746 LET A=2
7749 RETURN
8999 STOP
9000 SAVE "SPELL[3]"
9010 GOTO 1
1 SLOW
10 REM SPELLING BEE
700 LET C=0
720 REM [W][=][N][U][M][B][E][R]█[O][F]█[S][E][T][S]
730 LET W=25
740 DIM X$(W+1)
750 LET X$="00000000000000000000000000"
820 LET BS=0
825 LET BT=1
826 LET BU=2
827 LET BV=3
828 LET BW=4
829 LET BX=5
830 PRINT AT 11,BW;"PRESS ANY KEY TO BEGIN"
840 PRINT AT 11,BW;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N]"
850 LET Q$=INKEY$
860 IF Q$="" THEN GOTO 830
900 LET Z$="▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚"
910 FOR R=BT TO 18
920 LET Z$=Z$+"▚▚ ▚▚"
930 NEXT R
940 LET Z$=Z$+"▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚▚"
950 LET I$="00"
960 LET J$="00"
1000 REM [M][E][N][U]
1010 PRINT AT BS,BS;Z$
1050 PRINT AT BU,BW;"THE SPELLING BEE."
1055 PRINT AT BW,BW;"HERE ARE YOUR OPTIONS:"
1060 PRINT AT 6,BV;"1..TAKE A TEST"
1070 PRINT AT 8,BV;"2..CHECK SCORES"
1080 PRINT AT 10,BV;"3..LIST MISSPELLED WORDS"
1090 PRINT AT 12,BV;"4..PRACTICE MISSPELLED";TAB 6;"WORD LIST"
1100 PRINT AT 15,BV;"5..SAVE THE PROGRAM"
1105 PRINT AT 17,BV;"6..QUIT THE PROGRAM"
1110 PRINT AT 19,BW;"█[Y][O][U][R]█[D][E][C][I][S][I][O][N][,]█[P][L][E][A][S][E][?]█"
1120 PRINT AT 19,BW;" YOUR DECISION, PLEASE? "
1130 LET Q$=INKEY$
1140 IF Q$="" THEN GOTO 1110
1150 IF Q$>"6" OR Q$<"1" THEN GOTO 1110
1200 GOTO 500+1000*VAL Q$
1500 REM █[T][H][E]█[T][E][S][T]█
1510 LET J=0
1520 LET I=0
1530 LET C=C+1
1600 PRINT AT BS,BS;Z$
1610 PRINT AT BV,BW;"PRESS ""0"" IF YOU WANT";TAB BW;"THE EASY VERSION"
1620 PRINT AT 6,BW;"PRESS ""1"" IF YOU WANT";TAB BW;"THE DIFFICULT VERSION"
1630 LET L$=INKEY$
1640 IF L$>"1" OR L$<"0" THEN GOTO 1610
1650 LET L=VAL L$
1660 IF L=BS THEN PRINT AT 9,BX;"█[T][H][E]█[E][A][S][Y]█[T][E][S][T]█";AT 11,BW;"10 PROBLEMS:";TAB BW;"ONE OF THE FIVE WORDS";TAB BW;"IS SPELLED INCORRECTLY.";TAB BW;"FIND IT."
1670 IF L=BT THEN PRINT AT 9,BX;"█[T][H][E]█[D][I][F][F][I][C][U][L][T]█[T][E][S][T]█";AT 11,BW;"10 PROBLEMS:";TAB BW;"ONE OF THE FIVE WORDS";TAB BW;"IS SPELLED INCORRECTLY.";TAB BW;"FIND IT AND SPELL IT."
1680 PRINT AT 16,BV;"█[H][I][T]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N][.][.][.]█"
1690 LET Q$=INKEY$
1700 IF Q$="" THEN GOTO 1690
1730 DIM A$(12)
1740 DIM B$(12)
1750 DIM C$(12)
1760 DIM D$(12)
1770 DIM E$(12)
1780 DIM N$(12)
1790 DIM R$(W)
1794 LET WS=10
1796 IF W<WS THEN LET WS=W
1800 FOR R=BT TO WS
1805 PRINT AT BS,BS;Z$
1810 LET P=INT (RND*W)
1815 IF R$(P+BT)="1" THEN GOTO 1810
1820 GOSUB 7500+10*P
1830 LET R$(P+BT)="1"
1840 PRINT AT BU,BU;"PROBLEM ";R
1850 PRINT AT BW,BW;"WHICH OF THESE WORDS";TAB BW;"IS SPELLED INCORRECTLY?"
1860 PRINT AT 8,BW;"1..";A$;AT 10,BW;"2..";B$;AT 12,BW;"3..";C$;AT 14,BW;"4..";D$;AT 16,BW;"5..";E$
1870 LET Q$=INKEY$
1880 IF Q$="" OR Q$>"5" OR Q$<"1" THEN GOTO 1870
1882 IF VAL Q$=BT THEN LET M$=A$
1883 IF VAL Q$=BU THEN LET M$=B$
1884 IF VAL Q$=BV THEN LET M$=C$
1885 IF VAL Q$=BW THEN LET M$=D$
1886 IF VAL Q$=BX THEN LET M$=E$
1890 IF VAL Q$=A THEN GOTO 2100
1895 LET Q=VAL Q$
1900 PRINT AT BS,BS;Z$
1910 PRINT AT BV,BV;"█[W][R][O][N][G]█";AT 7,BV;M$;TAB 16;N$;TAB BV;"WAS RIGHT";TAB 16;"WAS";TAB 16;"MISSPELLED."
1920 PRINT AT 12,BW;A$;TAB BW;B$;TAB BW;C$;TAB BW;D$;TAB BW;E$
2000 LET I=I+BT
2005 LET X$(P+BT)=STR$ Q
2010 FOR S=BS TO 21
2020 PRINT AT S,27;"[W][R][O][N][G]"
2030 NEXT S
2040 PRINT AT 18,BU;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[O][N]"
2050 LET Q$=INKEY$
2060 IF Q$="" THEN GOTO 2050
2070 NEXT R
2080 GOTO 2400
2100 PRINT AT BS,BS;Z$
2110 PRINT AT BW,9;"█[C][O][R][R][E][C][T]█"
2120 IF L=BS THEN GOTO 2200
2130 PRINT AT 7,BV;"WHAT IS THE PROPER";TAB BV;"SPELLING OF ";M$;"?"
2135 PRINT AT BW,10;"CORRECT"
2140 PRINT AT 11,BV;"(TYPE THE ANSWER AND";TAB BW;"THEN PRESS RETURN)"
2145 DIM O$(12)
2150 INPUT O$
2155 PRINT AT 11,BV;" ";TAB BW;" "
2157 IF O$=N$ THEN PRINT AT 10,BX;N$;" IS RIGHT."
2160 IF O$=N$ THEN GOTO 2210
2165 LET Q=6
2170 PRINT AT 11,10;"█[W][R][O][N][G]█";TAB BW;"THE PROPER SPELLING IS";TAB BW;"NOT ";O$;AT 15,BW;"THE PROPER SPELLING IS";TAB BW;N$
2180 GOTO 2000
2200 PRINT AT 7,BW;"THE PROPER SPELLING IS";AT 10,10;N$
2210 LET J=J+BT
2215 PRINT AT 12,BV;A$;TAB BV;B$;TAB BV;C$;TAB BV;D$;TAB BV;E$
2220 FOR S=BT TO 22
2230 PRINT AT S-BT,27;"[R][I][G][H][T]"
2240 NEXT S
2250 IF VAL X$(P+BT)>0 THEN PRINT AT 12,16;"MUCH BETTER";TAB 17;"YOU MISSED";TAB 17;"THIS ONE";TAB 17;"LAST TIME."
2260 LET X$(P+BT)="0"
2270 PRINT AT 18,BU;"[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[O][N]█"
2280 LET Q$=INKEY$
2290 IF Q$="" THEN GOTO 2280
2300 NEXT R
2310 REM [E][N][D]█[O][F]█[T][E][S][T]
2400 PRINT AT BS,BS;Z$
2410 PRINT AT BW,BW;"█[T][H][E]█[T][E][S][T]█[H][A][S]█[E][N][D][E][D]█"
2420 PRINT AT 8,4;"YOU SCORED ";J;" CORRECT";AT 11,BW;"AND ";I;" INCORRECT."
2430 PRINT AT 15,8;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█";TAB 6;"█[T][O]█[R][E][T][U][R][N]█[T][O]█[M][E][N][U]█"
2440 LET I$=I$+STR$ (INT (I/10))+STR$ (I-(INT (I/10)*10))
2450 LET J$=J$+STR$ (INT (J/10))+STR$ (J-(INT (J/10)*10))
2460 LET Q$=INKEY$
2470 IF Q$="" THEN GOTO 2460
2480 GOTO 1000
2500 REM █[S][C][O][R][E][S]█
2540 LET U=BT
2550 IF C>10 THEN LET U=C-9
2600 PRINT AT BS,BS;Z$
2610 PRINT AT BV,10;"█[S][C][O][R][E][S]█"
2620 PRINT AT BX,9;"RIGHT█";TAB 15;"WRONG█";TAB 21;"PERCENT"
2700 FOR R=U TO C
2720 PRINT AT R+6,BV;"TEST ";R;TAB 12;(VAL J$(R*2+1)*10)+(VAL J$(R*2+2));TAB 18;(VAL I$(R*2+1)*10)+(VAL I$(R*2+2));TAB 26;INT (100*(VAL J$(R*2+1)*10+VAL J$(R*2+2))/WS)
2740 NEXT R
2800 PRINT AT 18,BU;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O]█[T][O]█[M][E][N][U]"
2810 IF INKEY$ ="" THEN GOTO 2810
2820 GOTO 1000
3500 REM █[L][I][S][T]█[M][I][S][S][P][E][L][L][E][D]█[W][O][R][D][S]█
3505 IF VAL X$=0 THEN GOTO 1000
3510 LET B=3
3520 PRINT AT BS,BS;Z$
3530 PRINT AT BX,BX;"DO YOU WANT TO PRINT";TAB BX;"THESE WORDS ON THE";TAB BX;"PRINTER?";AT 10,BX;"(Y/N)"
3535 IF INKEY$ ="Y" THEN LET L=1
3540 IF INKEY$ ="N" THEN LET L=0
3545 IF INKEY$ ="" THEN GOTO 3535
3547 PRINT AT BS,BS;Z$
3550 FOR R=1 TO W+1
3560 IF B>15 THEN GOTO 4000
3570 IF R>W THEN GOTO 4200
3610 IF X$(R)="0" THEN NEXT R
3620 GOSUB 7500+10*(R-1)
3630 IF X$(R)="6" THEN GOTO 3800
3640 IF L=1 THEN GOTO 4400
3670 IF X$(R)="1" THEN PRINT AT B,BU;A$;TAB 16;N$
3680 IF X$(R)="2" THEN PRINT AT B,BU;B$;TAB 16;N$
3700 IF X$(R)="3" THEN PRINT AT B,BU;C$;TAB 16;N$
3710 IF X$(R)="4" THEN PRINT AT B,BU;D$;TAB 16;N$
3720 IF X$(R)="5" THEN PRINT AT B,BU;E$;TAB 16;N$
3780 LET B=B+BT
3790 NEXT R
3795 GOTO 4200
3800 IF L=0 THEN PRINT AT B,BU;N$
3805 IF L=1 THEN LPRINT TAB BU;N$
3810 LET B=B+1
3820 NEXT R
3830 GOTO 4200
4000 IF L=1 THEN GOTO 4050
4005 PRINT AT 17,BV;"█[T][H][E][R][E]█[A][R][E]█[M][O][R][E][.]█[P][R][E][S][S]█";TAB BW;"█["][P]["]█[T][O]█[C][O][N][T][I][N][U][E][,]█[O][R]█";TAB BV;"█["][Q]["]█[T][O]█[R][E][T][U][R][N]█[T][O]█[M][E][N][U]█"
4010 IF INKEY$ ="Q" THEN GOTO 1000
4020 IF INKEY$ ="P" THEN GOTO 4040
4030 GOTO 4010
4040 PRINT AT BS,BS;Z$
4050 LET B=3
4060 GOTO 3560
4200 IF L=1 THEN GOTO 4470
4205 PRINT AT 18,BU;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[G][O][T][O]█[M][E][N][U]█"
4210 IF INKEY$ ="" THEN GOTO 4210
4220 GOTO 1000
4400 CLS
4405 IF VAL X$(R)=1 THEN LPRINT TAB BU;A$;TAB 16;N$
4410 IF VAL X$(R)=2 THEN LPRINT TAB BU;B$;TAB 16;N$
4420 IF VAL X$(R)=3 THEN LPRINT TAB BU;C$;TAB 16;N$
4430 IF VAL X$(R)=4 THEN LPRINT TAB BU;D$;TAB 16;N$
4440 IF VAL X$(R)=5 THEN LPRINT TAB BU;E$;TAB 16;N$
4450 LET B=B+BT
4460 NEXT R
4470 LET L=0
4475 LET B=3
4480 GOTO 3547
4500 REM █[P][R][A][C][T][I][C][E]█
4510 IF VAL X$=0 THEN GOTO 1000
4520 LET J=0
4530 LET I=0
4540 PRINT AT BS,BS;Z$
4545 PRINT AT BV,BW;"PRESS ""0"" IF YOU WANT";TAB BW;"THE EASY VERSION"
4550 PRINT AT 6,BW;"PRESS ""1"" IF YOU WANT";TAB BW;"THE DIFFICULT VERSION"
4555 LET L$=INKEY$
4560 IF L$>"1" OR L$<"0" THEN GOTO 4555
4565 LET L=VAL L$
4580 PRINT AT 10,BW;"THE WORDS YOU CURRENTLY";TAB BW;"HAVE WRONG WILL NOW BE";TAB BW;"REVIEWED."
4590 PRINT AT 18,BV;"█[P][R][E][S][S]█[A][N][Y]█[K][E][Y]█[T][O]█[B][E][G][I][N]█"
4595 IF INKEY$ ="" THEN GOTO 4595
4600 FOR R=1 TO W+1
4610 IF VAL X$(R)=0 THEN NEXT R
4620 IF R>W THEN GOTO 1000
4630 PRINT AT BS,BS;Z$
4640 GOSUB 7500+10*(R-BT)
4650 GOTO 1840
4700 IF R>W THEN GOTO 1000
5500 PRINT AT BS,BS;Z$
5510 PRINT AT BX,BX;"START THE TAPE";TAB BX;"ON RECORD";AT 9,BX;"THEN PRESS ANY KEY"
5520 IF INKEY$ ="" THEN GOTO 5520
5530 SAVE "SPELL"
5540 GOTO 1000
5555 STOP
6500 PRINT AT BS,BS;Z$
6510 PRINT AT BX,BX;"DO YOU WANT TO QUIT?";AT 8,BX;"(Y/N)"
6520 IF INKEY$ ="Y" THEN STOP
6530 IF INKEY$ ="N" THEN GOTO 1000
6540 GOTO 6520
7499 STOP
7500 LET A$="DEPENDENCE"
7501 LET B$="OCCURRANCE"
7502 LET C$="INTELLIGENCE"
7503 LET D$="REFERENCE"
7504 LET E$="APPEARANCE"
7505 LET N$="OCCURRENCE"
7506 LET A=2
7509 RETURN
7510 LET A$="SACRAFICE"
7511 LET B$="COMPARATIVE"
7512 LET C$="INFINITE"
7513 LET D$="IRRESISTIBLE"
7514 LET E$="PERISHABLE"
7515 LET N$="SACRIFICE"
7516 LET A=1
7519 RETURN
7520 LET A$="NOTICEABLE"
7521 LET B$="LOVABLE"
7522 LET C$="CONCEIVEABLE"
7523 LET D$="IMAGINABLE"
7524 LET E$="CHANGEABLE"
7525 LET N$="CONCEIVABLE"
7526 LET A=3
7529 RETURN
7530 LET A$="FIERY"
7531 LET B$="WEIRD"
7532 LET C$="THEIR"
7533 LET D$="SEIGE"
7534 LET E$="SEIZE"
7535 LET N$="SIEGE"
7536 LET A=4
7539 RETURN
7540 LET A$="BELIEVE"
7541 LET B$="CONCEIT"
7542 LET C$="CEILING"
7543 LET D$="NEIGHBOR"
7544 LET E$="RECIEVE"
7545 LET N$="RECEIVE"
7546 LET A=5
7549 RETURN
7550 LET A$="PREFERRED"
7551 LET B$="REFEREE"
7552 LET C$="REFERRAL"
7553 LET D$="EMBARASS"
7554 LET E$="COROLLARY"
7555 LET N$="EMBARRASS"
7556 LET A=4
7559 RETURN
7560 LET A$="RECURRING"
7561 LET B$="PREFER"
7562 LET C$="HARASS"
7563 LET D$="HARIED"
7564 LET E$="CORRUPTION"
7565 LET N$="HARRIED"
7566 LET A=4
7569 RETURN
7570 LET A$="SLUMBEROUS"
7571 LET B$="DISASTEROUS"
7572 LET C$="HUMOROUS"
7573 LET D$="RIDICULOUS"
7574 LET E$="MISCHIEVOUS"
7575 LET N$="DISASTROUS"
7576 LET A=2
7579 RETURN
7580 LET A$="SUPERVISOR"
7581 LET B$="PERJURER"
7582 LET C$="ATTESTOR"
7583 LET D$="TRESPASSER"
7584 LET E$="AMBASSADOR"
7585 LET N$="ATTESTER"
7586 LET A=3
7589 RETURN
7590 LET A$="ANCESTOR"
7591 LET B$="EMPERER"
7592 LET C$="MENTOR"
7593 LET D$="SCEPTER"
7594 LET E$="SCULPTOR"
7595 LET N$="EMPEROR"
7596 LET A=2
7599 RETURN
7600 LET A$="ANCHOR"
7601 LET B$="DEPOSITER"
7602 LET C$="DECORATOR"
7603 LET D$="ADJUSTER"
7604 LET E$="ADVERTISER"
7605 LET N$="DEPOSITOR"
7606 LET A=2
7609 RETURN
7610 LET A$="POLLUTE"
7611 LET B$="SKILLFUL"
7612 LET C$="MELON"
7613 LET D$="FUELING"
7614 LET E$="UNEQUALLED"
7615 LET N$="UNEQUALED"
7616 LET A=5
7619 RETURN
7620 LET A$="CALIBAR"
7621 LET B$="BEGGAR"
7622 LET C$="CATERPILLAR"
7623 LET D$="BURSAR"
7624 LET E$="INFER"
7625 LET N$="CALIBER"
7626 LET A=1
7629 RETURN
7630 LET A$="VILLAGE"
7631 LET B$="VILE"
7632 LET C$="VINYL"
7633 LET D$="VILLIN"
7634 LET E$="VANILLA"
7635 LET N$="VILLAIN"
7636 LET A=4
7639 RETURN
7640 LET A$="DISPATCH"
7641 LET B$="DEVICE"
7642 LET C$="DISCRETE"
7643 LET D$="DESIRE"
7644 LET E$="DISCRIPTION"
7645 LET N$="DESCRIPTION"
7646 LET A=5
7649 RETURN
7650 LET A$="SESAME"
7651 LET B$="SHAKEY"
7652 LET C$="CURLY"
7653 LET D$="LEPROUS"
7654 LET E$="COURTESY"
7655 LET N$="SHAKY"
7656 LET A=2
7659 RETURN
7660 LET A$="PRETENTIOUS"
7661 LET B$="PORTENTIOUS"
7662 LET C$="LUSCIOUS"
7663 LET D$="PRECOCIOUS"
7664 LET E$="SPACIOUS"
7665 LET N$="PORTENTOUS"
7666 LET A=2
7669 RETURN
7670 LET A$="QUOTIENT"
7671 LET B$="DIFICIENT"
7672 LET C$="PATIENT"
7673 LET D$="PROFICIENT"
7674 LET E$="OMNISCIENT"
7675 LET N$="DEFICIENT"
7676 LET A=2
7679 RETURN
7680 LET A$="ORGANIZE"
7681 LET B$="MOBILIZE"
7682 LET C$="FINALIZE"
7683 LET D$="COMPRIZE"
7684 LET E$="MORALIZE"
7685 LET N$="COMPRISE"
7686 LET A=4
7689 RETURN
7690 LET A$="DOWNTOWN"
7691 LET B$="DRUMBEAT"
7692 LET C$="LIFE BELT"
7693 LET D$="SECOND-HAND"
7694 LET E$="MOTORBOAT"
7695 LET N$="SECONDHAND"
7696 LET A=4
7699 RETURN
7700 LET A$="BOOKKEEPER"
7701 LET B$="STOCKADE"
7702 LET C$="JACKKNIFE"
7703 LET D$="KNOCKNEED"
7704 LET E$="LOCKKEEPER"
7705 LET N$="KNOCKKNEED"
7706 LET A=4
7709 RETURN
7710 LET A$="EXCERPT"
7711 LET B$="EXECUTE"
7712 LET C$="EXCLUDE"
7713 LET D$="EXCERCISE"
7714 LET E$="EXCELLENT"
7715 LET N$="EXERCISE"
7716 LET A=4
7719 RETURN
7720 LET A$="FASCINATE"
7721 LET B$="NECESSARY"
7722 LET C$="SUCCESSOR"
7723 LET D$="OBSESSION"
7724 LET E$="PASSIFIST"
7725 LET N$="PACIFIST"
7726 LET A=5
7729 RETURN
7730 LET A$="COLISION"
7731 LET B$="REGION"
7732 LET C$="RELIGION"
7733 LET D$="FASHION"
7734 LET E$="OCCASION"
7735 LET N$="COLLISION"
7736 LET A=1
7739 RETURN
7740 LET A$="CONTAGIOUS"
7741 LET B$="OUTRAGEOUS"
7742 LET C$="GORGEOUS"
7743 LET D$="PRODIGIOUS"
7744 LET E$="PRESTIGEOUS"
7745 LET N$="PRESTIGIOUS"
7746 LET A=5
7749 RETURN
8990 STOP
9000 SAVE "SPELL[4]"
9010 GOTO 1
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.