10 COMMON DK$, VERSION$  :REM- COMMON VARIABLES USE IN CHAINING TO INSTRUCTIONS
20 VERSION$="WHEEL-O1.BAS"
30 ESC$=CHR$(27)
40 CLS$=CHR$(26)
50 PRINT CLS$
55 REM ------------
56 REM   SIGN-ON MESSAGE
57 REM
60 PRINT TAB(30) "*********************"
70 PRINT TAB(30)"******* WHEEL *******"
80 PRINT TAB(30)"*********************"
90 PRINT:PRINT TAB(22)"Osborne 1,  Vesion OSB-1.10, 1/20/86
100 PRINT:PRINT:PRINT:PRINT TAB(29) "(c) By D. D. Harrington"
110 PRINT TAB(30) "Hoosier Osborne Group"
120 FOR Z=1 TO 8:PRINT:NEXT
130 INPUT "Which Drive contains the `WHEEL' game and `DATA' disk (A/B) :";DK$
140 IF ASC(DK$)>91 THEN DK$=CHR$(ASC(DK$)-32)	:REM- CONVERT TO UPPER CASE
150 'IF DK$<>"A" AND DK$<>"B" THEN PRINT "Enter A or B": GOTO 130
160 INPUT"DO YOU NEED INSTRUCTIONS (Y/N)";YN$
170 IF YN$="Y" OR YN$="y" THEN 180 ELSE 200
180 '
190 CHAIN DK$+":WHEEL.INS",ALL
200 REM ------------
210 REM - START OF MAIN PROGRAM
220 PRINT CLS$
230 REM: - ROUTINE TO GET NEW PLAYERS NAMES
240 PRINT CLS$
250 INPUT "HOW MANY PLAYERS: ";Y%
260 IF Y%<=0 THEN 250
270 REM ------------
280 REM: - ROUTINE TO SELECT NUMBER OF GAMES `GM' TO PLAY
290 PRINT:INPUT "HOW MANY GAMES DO YOU WANT TO PLAY IN THIS ROUND";GM
300 IF GM<1 THEN 290
310 G1=1			:REM -- SET INITIAL GAME = #1
320 PRINT
330 FOR PX= 1 TO Y%
340	PRINT "ENTER NAME OF PLAYER #"PX" BELOW:"
350	INPUT PL$(PX)
360	IF PL$(PX)="" THEN 340
370 NEXT
380 PRINT:PRINT
390 REM ------------
400 REM - INITIALIZE NEW GAME
410 PRINT TAB(13) "PLEASE STANDBY WHILE NAMES ARE SAVED AND RANDOMIZED"
420 GOSUB 3150       :REM - SUBROUTINE TO RANDOMIZE PLAYERS TO BE SELECTED
430 PRINT:PRINT TAB(25) ESC$+")"" PLAYER #";PX;" WILL GO FIRST." ESC$+"(" :FOR K=1 TO 1000:NEXT
440 CT%= 1	:REM - CT% IS PLAYER INPUT LETTER CKECKER. INITIALLY SET TO 
450		 REM   ZERO SO CPU WILL PRINT BLANKS ON SCREEN
460 REM -------------
470 PRINT:PRINT TAB(19) "PLEASE STANDBY FOR SELECTION OF CATEGORY"
480 REM -------------
490 DIM UL(26)	:REM -- ARRAY FOR USED LETTERS = A, B, C, ..... Z (26 LETTERS)
500 REM
510 REM - ROUINTE TO SELECT CATEGORY
520	GOSUB 2950     :REM - GO GET RANDOM NUMBER
530	RD=INT(8*RND)	:REM - `8' CATAGORIES
540	IF RD>8 OR RD <=0 THEN 520
550   REM - USE RANDOM (RD) TO SELECT FILE$ (CATEGORY) TO OPEN
560	IF RD=1 THEN FILE$ ="TITLE"
570	IF RD=2 THEN FILE$ ="EVENT"
580	IF RD=3 THEN FILE$ ="PEOPLE"
590	IF RD=4 THEN FILE$ ="PHRASE"
600	IF RD=5 THEN FILE$ ="PLACE"
610	IF RD=6 THEN FILE$ ="THING"
620	IF RD=7 THEN FILE$ ="PERSON"
630	IF RD=8 THEN FILE$ ="QUOTE"
640 REM -------------
650 REM - ROUTINE TO 1st GET NUMBER OF RECORDS (I%) FROM DISK FILE,
660 REM   THEN TO READ INDIVIDUAL RECORDS (D$) FROM DISK FILE
670  REM - OPEN UP SEQUENTIAL FILE NAMED FILE$
680	OPEN "I", #1, DK$+":"+FILE$+".DAT"
690		REM - 1st `RECORD' GIVES NUMBER OF RECORDS IN FILE
700		INPUT #1, I%     :REM - I% = NUMBER OF RECORDS IN FILE
710		REM - NOW READ INDIVIDUAL RECORDS INTO ARRAY D$(Z)
720		DIM D$(I%)
730		FOR Z = 1 TO I%
740			INPUT #1, D$(Z)
750		NEXT Z
760	CLOSE #1
770 REM -------------
780 REM - ROUTINE TO SELECT ONE OF RECORDS FROM FILE$ FOR GAME
790 REM   USING RANDOM NUMBER
800	GOSUB 2950     :REM - GET RANDOM NUMBER
810	IR%= I%		:REM - IR% USED TO GENERATE RANDOM NUMBER
820	  REM - GENERATE RANDOM NUMBER
830		RD=INT(IR%*RND)
840		IF RD > I% OR RD <=0 THEN 800 :REM - SEE IF EXCEEDS NUMBER OF RECORDS; IF SO GET NEW RANDOM NUMBER
850	  REM - SET CATEGORY ITEM C$ = TO SELECTED RECORD (D$(RD))
860		C$ = D$(RD)
870 REM -------------
880 REM - ROUTINE TO COUNT NUMBER OF CHARACTERS IN SELECTED ITEM C$
890		L%=LEN(C$)
900 REM -------------
910 REM - DEMINSION ARRAY A$ EQUAL TO NUMBER OF CHARACTERS IN ITEM C$ AND
920 REM   PUT IN ITEM C$ (NEED THIS ARRAY FOR COMPARISON TO ARRAY W$ BELOW)
930	DIM A$(L%)
940	FOR K=1 TO L%
950		A$(K)= MID$(C$,K,1)
960	NEXT K
970 REM -------------
980 REM - DEMINSION 2nd ARRAY W$ EQUAL TO NUMBER OF CHARACTER IN ITEM C$
990 REM   TO BE USED TO PUT IN `BLANKS', HYPHENS, ETC FOR SCREEN DISPLAY
1000   DIM W$(L%)
1010  FOR K=1 TO L%
1020 REM -------------
1030   REM - IF CHARACTER IN C$ IS A `LETTER', PRINT A `BLANK' ON SCREEN
1040    IF MID$(C$,K,1)>=CHR$(65) AND MID$(C$,K,1)<=CHR$(90) THEN W$(K)=CHR$(95)
1050   REM - IF CHARACTER IN C$ IS A `DASH', PRINT A `DASH'
1060    IF MID$(C$,K,1) = CHR$(45) THEN W$(K)=CHR$(45)
1070   REM   IF CHARACTER IN C$ IS A `HYPHEN', PRINT A `HYPHEN'
1080    IF MID$(C$,K,1) = CHR$(39) THEN W$(K)=CHR$(39)
1090   REM - IF CHARACTER IN C$ IS A `SPACE', PRINT A `SPACE'
1100    IF MID$(C$,K,1) = CHR$(32) THEN W$(K)=CHR$(32)
1110  NEXT
1120 REM -------------
1130 REM - ROUTINE TO PRINT CURRENT PLAYER & WINNINGS ON SCREEN
1140 TU$=""		:REM - RESET TU$ `BANKRUPT/LOSE TURN' = `NULL'
1150	GOSUB 3670	:REM - GET NEW VALUE S1% FOR EACH CORRECT LETTER
1160 PRINT CLS$
1170 PRINT "CURRENT PLAYER: " ESC$+")" ;PL$(PX) ESC$+"(" ; TAB(67) "GAME #";G1
1180 GOSUB 3410		:REM - GET VALUE OF CONSTANT
1190 PRINT "CURRENT SCORE SO FAR THIS ROUND: $";S1%(PX)
1200 REM -------------
1210 REM - ROUTINE TO PRINT BLANKS AND CHARACTERS ON SCREEN
1220 REM - CT%= 0 WHEN PLAYER READY TO INPUT A LETTER
1230 PRINT:PRINT:PRINT
1240 PRINT TAB(15)
1250 FOR K=1 TO L%
1260	IF W$(K)=CHR$(95) AND A$(K)=N$ THEN CT%=1  :REM - CORRECT GUESS !!
1270	IF W$(K)=CHR$(95) AND A$(K)=N$ THEN W$(K)=N$
1280	IF W$(K)=CHR$(95) AND W$(K)<>N$ THEN W$(K)=CHR$(95)
1290	IF W$(K)=CHR$(39) THEN W$(K)=CHR$(39)
1300	IF W$(K)=CHR$(32) THEN W$(K)=CHR$(32)
1310	PRINT W$(K); 	:REM - THIS PRINT THE CHARACTER
1320 NEXT K
1330 REM - ROUTINE TO PRINT CATEGORY
1340 REM
1350 PRINT:PRINT
1360 PRINT TAB(15)
1370	PRINT "CATEGORY: ";FILE$
1380 REM -------------
1390 REM - ROUTINE TO ASK PLAYER TO SPIN WHEEL
1400 REM
1410 IF CT%= 0 THEN GOTO 1930	:REM - INCORRECT LETTER SELECTED
1420 IF S1%(PX)= 0 AND CK$= "ONLY VOWELS REMAINING" THEN 1760
1430 REM -------------
1440 PRINT
1450 INPUT "DO YOU WANT TO `SOLVE' IT  (Y/N): ";YN$
1460 LI$=""	:REM - RESET
1470 IF YN$<>"Y" THEN N$= ""	:REM - RESET FOR PREVIOUS VOWEL ENTRY
1480 IF YN$<>"Y" THEN SP$= "SPINNING WHEEL ------------------->"
1490 IF YN$="Y" THEN GOSUB 4400     :REM - PRINT USED LETTERS
1500 IF YN$="Y" THEN 2120
1510 REM -------------
1520 REM - ROUTINE TO ASK PLAYER IF WANTS TO
1530 REM   BUY VOWEL IF HE HAS AT LEAST $200
1540 REM
1550 IF S1%(PX)>199 THEN GOTO 1570 ELSE 1620
1560 PRINT
1570 INPUT "DO YOU WANT TO BUY A `VOWEL'  (Y/N): ";YN$
1575 IF YN$="y" THEN YN$="Y"
1580 LI$="TRUE"
1590 IF YN$<>"Y" THEN SP$= "SPINNING WHEEL ------------------>"
1600 IF YN$="Y" THEN GOSUB 4400   :REM - PRINT USED LETTERS
1610 IF YN$="Y" THEN 2600 ELSE 1620
1620 REM -------------
1630 REM - ROUTINE TO SET "SPINNING WHEEL .." MESSAGE
1640 REM   TO `NULL' ("") IF VOWEL SELECTED
1650 REM
1660 IF CT%= 0 THEN SP$= ""  :REM - NO PRINT "SPINNING.." IF GUESS WRONG LETTER
1670 REM -------------
1680 REM - ROUTINE TP CHECK IF `ONLY VOWELS REMAINING'.
1690 REM   IF SO, PLAYER REQUIRED TO `SOLVE' QUESTION.
1700 GOSUB 4280	:REM - SUBROUTINE TO CHECK FOR NUMBER OF VOWELS LEFT
1710 IF CK$= "ONLY VOWELS REMAINING" THEN GOSUB 4400 :REM - PRINT `USE LETTERS'
1720 PRINT
1730 IF CK$= "ONLY VOWELS REMAINING" GOTO 2130
1740 REM -------------
1750 REM - PRINT "SPINNING WHEEL .." (SP$) IF APPROPRIATE
1760 IF LI$="TRUE" THEN GOTO 1770 ELSE 1800
1770 PRINT ESC$+")" SP$ ESC$+"("
1780 LI$="FALSE"
1790 GOTO 1810
1800 PRINT:PRINT ESC$+")" SP$ ESC$+"("
1810 GOSUB 4710	:REM - SUBROUTINE TO POKE "SIMULATE" WHEEL SELECTION
1820 IF S1%(PX)= 0 AND CK$= "ONLY VOWELS REMAINING" THEN GOTO 1700
1830	FOR K= 1 TO 1000 :NEXT	:REM - LEAVE MESSAGE ON FOR AWHILE
1840 REM -------------
1850 REM - CHECK "TU$" FOR "BANKRUPT/LOSE TURN"
1860 REM   AND TAKE APPROPRIATE ACTION IF SO
1870 IF TU$= " BANKRUPT" THEN GOTO 3840
1880 IF TU$= "LOSE TURN" THEN GOTO 3920
1890	FOR K= 1 TO 3000 :NEXT	:REM - LEAVE MESSAGE ON FOR AWHILE
1900 PRINT
1910 IF CT%= 0 THEN GOTO 1930	:REM - NO PRINT VALUE IF GUESS INCORRECT
1920 PRINT "VALUE OF CONSONANTS IS " ESC$+")" "$" ;VC ESC$+"("	:REM - PRINT VALUE OF CONSONANTS
1930 REM -------------
1940 REM - ROUTINE TO SEE IF PLAYER GUESSED A CORRECT LETTER. IF SO THEN
1950 REM   THEN CT%=1 AND PLAYER GETS ANOTHER GUESS !
1960	IF CT%=1 THEN GOTO 2020
1970	IF N$<>"" AND CT%<>1 THEN PRINT:PRINT " SORRY, NO LETTER `";N$;"' OR LETTER USED ALREADY ... YOU LOSE YOUR TURN ..." :PRINT CHR$(7) : DP$= "" : AV$= "" :   FOR K= 1 TO 5000: NEXT
1980 '
1990 GOSUB 3430	:REM - GET NEW VALUE FOR CONSTANT FOR NEXT PLAYER
2000 GOTO 2500		:REM - NEXT PLAYER
2010 PRINT
2020 REM -------------
2030 REM - ROUTINE TO PRINT `USED LETTERS'
2040 REM
2050	GOSUB 4400	:REM - SUBROUTINE TO PRINT `USED LETTERS'
2060 REM -------------
2070 REM - ROUTINE TO CHECK IF PLAYER WANTS
2080 REM   TO `SOLVE' OR ENTER A `CHARACTER'
2090 REM
2100 REM - ROUTINE TO SEE IF PLAYER WANT TO SOLVE
2110	GOTO 2540	:REM - TEMPORARY BY-PASS TO REQUEST CONSONANT
2120	PRINT
2130 PRINT:PRINT ESC$+")" "TYPE IN YOUR ANSWER `EXACTLY' BELOW USING `UPPER CASE LETTERS'" ESC$+"("
2140	PRINT TAB(15): INPUT X$
2150 REM -------------
2160 REM - CHECK IF ANSWER IS CORRECT & UPDATE PLAYERS WINNINGS
2170	IF X$=C$ THEN PRINT:PRINT TAB(20)  " YOU WIN !!!  $";S1%(PX)   ELSE GOTO 2450  :REM - ELSE = "WRONG"
2180	FOR K= 1 TO 10: PRINT CHR$(7) :NEXT   :REM - RING BELL
2190	FOR Z=1 TO 5000: NEXT		      :REM - LEAVE MESSAGE ON AWHILE
2200 REM - WINNINGS = CURRENT VALUE M1%(PX)
2210		GOSUB 3780		:REM - UPDATE WINNINGS THIS PLAYER
2220   REM - ALL PLAYERS START WITH $0 FOR NEXT ROUND
2230		FOR K= 1 TO Y%
2240			S1%(K)=0
2250		NEXT
2260 REM -------------
2270 REM - ADD 1 TO GM; IF MAX, THEN PRINT FINAL SCORE PLAYERS
2280 REM - G1 IS THE GAME COUNTER; GM IS MAX. NUMBER OF GAMES
2290 REM
2300	G1= G1+ 1: IF G1> GM THEN 2310 ELSE 2400
2310	PRINT:FOR K= 1 TO 4000: NEXT
2320 PRINT CLS$		:REM - CLEAR SCREEN & GET NEW CATEGORY
2330	PRINT: GOSUB 3320	:REM - PRINT PLAYERS & FINAL WINNINGS
2340	INPUT "DO YOU WANT TO PLAY AGAIN (Y/N)";YN$
2345    IF ASC(YN$)>91 THEN YN$=(CHR$(ASC(YN$)-32) :REM-CONVERT TO UPPER CASE
2350	IF YN$<>"Y" AND YN$<>"N" THEN 2340
2360    IF YN$="N" THEN END ELSE 2370
2370	CLS$:RESTORE: CLEAR: GOTO 240		:REM - CLEAR ALL & START NEW GAME
2380	GOSUB 3210	:REM - GET NUMBER OF NEXT PLAYER
2390 REM - IF WIN THEN USE THIS ROUTINE TO GET NEW PLAYER (PL$(PX)), HIS CURRENT SCORE & NEW CATEGORY
2400	GOSUB 3210	:REM - NEXT PLAYERS TURN
2410	ERASE D$, A$, W$, UL :N$= "" :REM - CLEAR ARRAYS FOR NEXT ITEM
2420	PRINT CLS$	             :REM - CLEAR SCREEN FOR NEXT PLAYER
2430	GOTO 460	             :REM - SELECT NEW CATEGORY
2440 REM -------------
2450	PRINT:PRINT TAB(35) ESC$+")" " WRONG !!! " ESC$+"("	:REM - PLAYER BLEW IT
2460	PRINT CHR$(7) :FOR J= 1 TO 2500 :NEXT
2470 REM -------------
2480 REM - ROUTINE TO GET NEXT PLAYER
2490 REM
2500   N$= ""		   :REM - RESET INPUT `N$' = `NULL'
2510	CT%= 1		   :REM - TEMP. RESET SO PLAYER GETS SAME QUESTION
2520	GOSUB 3210	   :REM - NEXT PLAYERS TURN
2530	GOTO 1160          :REM - NEXT PLAYER CONTINUES ON SAME ITEM
2540 REM -------------
2550 CT%= 0	:REM - SET LETTER CHECKER = 0 BEFORE NEXT PLAYER STARTS TURN
2560 REM -------------
2570 REM - ROUTINE TO ALLOW SELECTION OF `VOWEL' IF PLAYER HAS $200
2580 REM
2590	GOTO 2830	:REM - TEMP BY-PASS REQUEST FOR VOWEL
2600	S1%(PX)= S1%(PX)- 200	:REM - SUTRACT 200 FROM CURRENT GAME SCORE
2610 PRINT:	PRINT:INPUT "WHICH `VOWEL' DO YOU WANT: ";N$
2620	IF ASC(N$)>91 THEN N$=CHR$(ASC(N$)-32)	:REM- CONVERT TO UPPER CASE
2630	IF N$= "" THEN 2610	:REM - NEEDS TO ENTER SOMETHING
2640	IF N$<>"A" AND N$<>"E" AND N$<>"I" AND N$<>"O" AND N$<>"U" THEN GOTO 2740
2650 REM - ROUTINE TO CHECK & ADD CHARACTERS TO `USED LETTER' ARRAY
2660	GOSUB 4000	:REM - SUBROUTINE FOR USED LETTER ARRAY `UL'
2670	GOSUB 4470	:REM - SUBROUTINE TO CHECK FOR `DUPLICATE VOWEL' INPUT
2680	GOSUB 4600	:REM - SUBROUTINE TO CHECK `ABSENTS OF VOWEL' INPUTED
2690 IF DP$="DUPLICATE" THEN PRINT:PRINT "THAT VOWEL HAS BEEN USED BEFORE ... SORRY ";PL$(PX)" ... YOU LOSE YOUR TURN ..." :GOTO 2760
2700	GOTO 1120
2710 REM -------------
2720 REM - ERROR MESSAGE & LOSS OF TURN IF ASKED FOR VOWEL & INPUT CONSONANT
2730 REM
2740 PRINT:PRINT "YOU INDICATED YOU WANTED A VOWEL ...."
2750 PRINT:PRINT "     SORRY, ";PL$(PX)", YOU LOSE YOUR TURN .... "
2760	PRINT CHR$(7)	:REM - RING BELL
2770	FOR K= 1 TO 5000 :NEXT	:REM - LEAVE MESSAGE ON AWHILE
2780 N$= ""	:REM - RESET LETTER INPUT N$ TO `NULL' FOR NEXT PLAYER
2790 GOTO 2470	:REM - GET NEXT PLAYER
2800 REM -------------
2810 REM - ROUTINE TO ASK FOR CONSONANT
2820 REM
2830 PRINT:PRINT:INPUT "ENTER CONSONANT: ";N$
2840	IF ASC(N$)>91 THEN N$=CHR$(ASC(N$)-32)	:REM- CONVERT TO UPPER CASE
2850	IF N$= "" THEN 2830	:REM - NEEDS TO ENTER SOMETHING
2860 REM - ROUTINE TO CHECK & ADD CHARACTERS TO `USED LETTER' ARRAY
2870	IF N$="A" OR N$="E" OR N$="I" OR N$="O" OR N$="U" THEN GOTO 2930
2880	GOSUB 4000	:REM - SUBROUTINE FOR USED LETTER ARRAY `UL'
2890	GOTO 1120
2900 REM -------------
2910 REM - ERROR MESSAGE & LOSS OF TURN IF ASKED CONSONANT & INPUT VOWEL
2920 REM
2930	PRINT:PRINT "YOU SHOULD HAVE ENTERED A CONSONANT ...."
2940	PRINT:PRINT "SORRY, YOU LOSE YOUR TURN ..." :PRINT CHR$(7):FOR K=1 TO 5500: NEXT K:N$="" : GOTO 2470  :REM - GO TO NEXT PLAYER
2950 REM -------------
2960 REM - RANDOM NUMBER GENERATING SUBROUTINE
2970 REM        FROM "PORTABLE COMPANION"
2980 REM	      SEPTEMBER, 1983
2990 REM		PAGES 36-37
3000 REM -------------
3010 OPEN "I", #1, DK$+":"+"RANDOM.DAT"
3020	INPUT #1, SEED
3030 CLOSE #1
3040 RANDOMIZE (SEED)
3050 SEED=SEED+1: IF SEED=>30000 THEN SEED=-30000
3060 OPEN "O", #1, DK$+":"+"RANDOM.DAT
3070	PRINT #1, SEED
3080 CLOSE #1
3090 RETURN
3100 REM
3110 REM
3120 REM -------------
3130 REM - SUBROUTINE TO RANDOMIZE PLAYERS
3140 REM       Y% = NUMBERS OF PLAYERS
3150 GOSUB 3010
3160 PX= INT(100*RND)
3170 IF PX<=0 OR PX>Y% THEN 3160
3180	REM - PX IS NUMBER IF PLAYER SELECTED
3190 RETURN
3200 REM
3210 REM -------------
3220 REM - SUBROUTINE TO SELECT NEXT PLAYER
3230 REM
3240 PX= PX+ 1
3250	IF PX > Y% THEN PX= 1
3260 RETURN
3270 REM
3280 REM -------------
3290 REM - SUBROUTINE TO LIST FINAL SCORE
3300 REM   OF ALL PLAYERS AT END OF GAME
3310 REM
3320 PRINT CLS$
3330 FOR PX= 1 TO Y%
3340	PRINT "PLAYER: ";PL$(PX);", WINNINGS: $";WN%(PX)
3350 NEXT
3360 RETURN
3370 REM
3380 REM -------------
3390 REM - SUBROUTINE TO DETERMINE VALUE OF
3400 REM   CONSONANTS RANDOMONLY
3410 REM
3420 GOSUB 2950		:REM - GET RANDOM NUMBER
3430 WH= INT(100*RND)
3440	IF WH<1 OR WH>100 THEN GOTO 3420
3450	IF WH>=1 AND WH<=10 THEN VC= 100
3460	IF WH>=11 AND WH<=20 THEN VC= 150
3470	IF WH>=21 AND WH<=25 THEN TU$= "LOSE TURN"
3480	IF WH>=26 AND WH<=30 THEN VC= 200
3490	IF WH>=31 AND WH<=40 THEN VC= 300
3500	IF WH>=41 AND WH<=50 THEN VC= 400
3510	IF WH>=51 AND WH<=55 THEN VC= 500
3520	IF WH>=56 AND WH<=60 THEN VC= 550
3530	IF WH>=61 AND WH<=65 THEN VC= 600
3540	IF WH>=66 AND WH<=70 THEN VC= 700
3550	IF WH>=71 AND WH<=75 THEN VC= 800
3560	IF WH>=76 AND WH<=80 THEN VC= 900
3570	IF WH>=81 AND WH<=85 THEN VC= 1000
3580	IF WH>=86 AND WH<=88 THEN VC= 5000
3590	IF WH>=89 AND WH<=95 THEN TU$= " BANKRUPT"	:REM -- BANKRUPT
3600	IF WH>=96 AND WH<=100 THEN TU$= "LOSE TURN"	:REM -- LOSE TURN
3610 RETURN
3620 REM -------------
3630 REM - SUBROUTINE TO `ZERO' PLAYER PL$(PX)'S
3640 REM   CURRENT ROUND SCORE DUE TO `BANKRUPT'
3650	S1%(PX)=0
3660 RETURN
3670 REM -------------
3680 REM - SUBROUTINE TO CALCULATE VALUE
3690 REM   OF CORRECTLY ENTERED LETTERS
3700	IF TU$<>"" THEN N$= ""	:REM - NO CREDIT IF BANKRUPT/LOSE TURN
3710	IF N$="A" OR N$="E" OR N$="I" OR N$="O" OR N$="U" THEN SP$= ""  :REM - DON'T PRINT "SPINNING WHEEL ....." MESSAGE FOR VOWELS
3720	IF N$="A" OR N$="E" OR N$="I" OR N$="O" OR N$="U" THEN VV= VC :REM - USEVV TO PRINT SAME VALUE FOR CONSONAT AS BEFORE SINCE VOWEL SELECTED
3730	IF N$="A" OR N$="E" OR N$="I" OR N$="O" OR N$="U" THEN VC= 0: REM - NO  CREDIT FOR VOWELS
3740	FOR K= 1 TO L%
3750		IF W$(K)=CHR$(95) AND A$(K)=N$ THEN S1%(PX) = S1%(PX) + VC
3760	NEXT
3770	RETURN
3780 REM -------------
3790 REM - KEEP TRACK OF WINNINGS AS GO FROM
3800 REM   ONE GAME TO NEXT
3810 REM   WN%(PX)= WINNINGS OF PLAYER PX
3820		WN%(PX)= WN%(PX) + S1%(PX)
3830	RETURN
3840 REM -------------
3850 REM - ROUTINE FOR `BANKRUPT'
3860	PRINT CHR$(7)	:REM - RING BELL
3870	PRINT:PRINT "SORRY ";PL$(PX);" ... BAD LUCK ... YOUR'RE BANKRUPT !! ........"
3880	FOR K= 1 TO 5000: NEXT	:REM - LEAVE MESSAGE FOR AWHILE
3890	S1%(PX)= 0		:REM - ZERO PLAYER'S SCORE FOR THIS ROUND
3900	TU$= ""		        :REM - RESET TU$ TO `NULL'
3910	GOTO 2460
3920 REM -------------
3930 REM - ROUTINE FOR `LOSE TURN'
3940 REM
3950	PRINT CHR$(7)	                :REM - RING BELL
3960	PRINT:PRINT "TOUGH LUCK ";PL$(PX);" ... YOU LOSE YOUR TURN ...."
3970	FOR K= 1 TO 5000: NEXT		:REM - LEAVE MESSAGE ON FOR AWHILE
3980	TU$= ""		                :REM - RESET TU$ TO `NULL'
3990	GOTO 2460	                :REM - NEXT PLAYER
4000 REM -------------
4010 REM - SUBROUTINE SERIES TO ADD CHARACTERS
4020 REM   TO `USED LETTER' (UL) ARRAY
4030 REM - CONVERT INPUT LETTER N$ TO ASCII DECIMAL #
4040	A = (ASC(N$)-64)
4050 REM - COUNT NUMBER OF CHARACTERS CURRENTLY IN ARRAY UL
4060	Z= 0                    :REM - RESET LETTER COUNTER `Z' TO ZERO
4070	FOR K= 1 TO 26		:REM- 26 LETTERS; `A' CAN BE 1 TO 26
4080		IF UL(K)<>0 THEN Z= Z+1
4090	NEXT
4100 REM - NOW ADD `NEW' LETTER TO ARRAY UL IF NOT PRESENT
4110	ND$= ""			:REM - RESET
4120	FOR K= 1 TO Z+1		:REM - ONE MORE THAN NOW PRESENT
4130		IF UL(K)<>0 AND UL(K)=A THEN ND$= "DUPLICATE"
4140		IF UL(K)<>0 AND UL(K)=A THEN K= Z+1
4150		IF UL(K)<>0 AND UL(K)=A THEN GOTO 4170
4160		IF UL(K)<>A AND UL(K)=0 THEN UL(K)=A
4170	NEXT K
4180 REM - SET COUNTER `LT' USED IN PRINT ROUTINE
4190	LT= Z+1
4200	IF ND$= "DUPLICATE" THEN LT= Z
4210	IF ND$= "DUPLICATE" THEN UL(Z+1)= 0	:REM - RESET TO `0'
4220 RETURN
4230 REM -------------
4240 REM - SUBROUTINE TO SEE IF ONLY
4250 REM   VOWELS LEFT IN UNKNOWN. IF SO
4260 REM   PLAYER `MUST SOLVE' UNKNOWN
4270 REM
4280  CK$= ""	:REM - RESET `CK$' TO `NULL'
4290  BK= 0	:REM - `BK' = NUMBER OF BLANK SPACES LEFT. RESET TO `0'
4300 FOR K= 1 TO L%
4310	IF W$(K)= CHR$(95) AND  A$(K)<>"A" AND A$(K)<>"E" AND A$(K)<>"I" AND A$(K)<>"O" AND A$(K)<>"U" THEN BK= BK+1
4320	IF A$(K)= CHR$(45) OR A$(K)= CHR$(32) OR A$(K)= CHR$(39) THEN BK=BK
4330	IF W$(K)= CHR$(45) OR W$(K)= CHR$(32) OR W$(K)= CHR$(39) THEN BK=BK
4340 NEXT K
4350 IF BK>0 THEN CK$= "" ELSE CK$= "ONLY VOWELS REMAINING"
4360 IF CK$= "ONLY VOWELS REMAINING" THEN PRINT CHR$(7) :REM - RING BELL
4370 IF CK$= "ONLY VOWELS REMAINING" THEN PRINT:PRINT CHR$(27)+")" TAB(5) "ALL REMAINING LETTERS ARE VOWELS. YOU MUST NOW SOLVE IT." CHR$(27)+"("
4380 IF CK$= "ONLY VOWELS REMAINING" THEN PRINT	:REM - LINE FEED
4390 RETURN
4400 REM -------------
4410 REM - SUBROUTINE TO PRINT `USED LETTERS'
4420 PRINT:PRINT "USED LETTERS: ";
4430	FOR K= 1 TO LT		:REM - LT = LETTER COUNTER
4440		IF UL(K)<>0 THEN PRINT CHR$(UL(K) + 64)" ";
4450	NEXT
4460 RETURN
4470 REM -------------
4480 REM - SUBROUTINE TO CHECK FOR DUPLICATION
4490 REM   OF `VOWEL' INPUT BY PLAYER
4500 DP$=""		:REM - INITIALIZE DP$ = `NULL' AT BEGINNING
4510 FOR K= 1 TO L%
4520	IF W$(K)="A" AND N$="A" THEN DP$="DUPLICATE"
4530	IF W$(K)="E" AND N$="E" THEN DP$="DUPLICATE"
4540	IF W$(K)="I" AND N$="I" THEN DP$="DUPLICATE"
4550	IF W$(K)="O" AND N$="O" THEN DP$="DUPLICATE"
4560	IF W$(K)="U" AND N$="U" THEN DP$="DUPLICATE"
4570 NEXT
4580 IF DP$="DUPLICATE" THEN CT%=1
4590 RETURN
4600 REM -------------
4610 REM - SUROUTINE TO CHECK FOR INPUT OF
4620 REM   A `VOWEL' NOT PRESENT IN UNKNOWN
4630 CT%= 0
4640 FOR K= 1 TO L%
4650	IF N$=A$(K) THEN CT%= 1
4660 NEXT
4670 RETURN
4680 REM -------------
4690 REM - SUBROUTINE TO POKE "SIMULATION" OF
4700 REM   RANDOM WHEEL SELECTION OF VALUE
4710 REM
4720 REM - POKE LOCATIONS FOR WHEEL VALUES. FIRST ONE IS 50852 = ">"
4730 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),53:POKE(63147!),48:POKE(63148!),48
4740 FOR Z= 1 TO 300:NEXT
4750 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),49:POKE(63147!),48:POKE(63148!),48
4760 FOR Z= 1 TO 300:NEXT
4770 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),49:POKE(63146!),48:POKE(63147!),48:POKE(63148!),48
4780 FOR Z= 1 TO 300:NEXT
4790 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),54:POKE(63147!),48:POKE(63148!),48
4800 FOR Z= 1 TO 300:NEXT
4810 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),50:POKE(63147!),48:POKE(63148!),48
4820 FOR Z= 1 TO 300:NEXT
4830 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),52:POKE(63147!),48:POKE(63148!),48
4840 FOR Z= 1 TO 300:NEXT
4850 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),56:POKE(63147!),48:POKE(63148!),48
4860 FOR Z= 1 TO 300:NEXT
4870 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),49:POKE(63147!),48:POKE(63148!),48
4880 FOR Z= 1 TO 300:NEXT
4890 POKE(63139!),62:POKE(63140!),32:POKE(63141!),66:POKE(63142!),65:POKE(63143!),78:POKE(63144!),75:POKE(63145!),82:POKE(63146!),85:POKE(63147!),80:POKE(63148!),84
4900 FOR Z= 1 TO 300:NEXT
4910 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),51:POKE(63147!),48:POKE(63148!),48
4920 FOR Z= 1 TO 300:NEXT
4930 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),53:POKE(63146!),48:POKE(63147!),48:POKE(63148!),48
4940 FOR Z= 1 TO 300:NEXT
4950 POKE(63139!),62:POKE(63140!),76:POKE(63141!),79:POKE(63142!),83:POKE(63143!),69:POKE(63144!),32:POKE(63145!),84:POKE(63146!),85:POKE(63147!),82:POKE(63148!),78
4960 FOR Z= 1 TO 300:NEXT
4970 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),53:POKE(63147!),53:POKE(63148!),48
4980 FOR Z= 1 TO 300:NEXT
4990 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),57:POKE(63147!),48:POKE(63148!),48
5000 FOR Z= 1 TO 300:NEXT
5010 POKE(63139!),62:POKE(63140!),76:POKE(63141!),79:POKE(63142!),83:POKE(63143!),69:POKE(63144!),32:POKE(63145!),84:POKE(63146!),85:POKE(63147!),82:POKE(63148!),78
5020 FOR Z= 1 TO 300:NEXT
5030 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),54:POKE(63147!),48:POKE(63148!),48
5040 FOR Z= 1 TO 300:NEXT
5050 POKE(63139!),62:POKE(63140!),32:POKE(63141!),66:POKE(63142!),65:POKE(63143!),78:POKE(63144!),75:POKE(63145!),82:POKE(63146!),85:POKE(63147!),80:POKE(63148!),84
5060 FOR Z= 1 TO 300:NEXT
5070 GOSUB 5170		:REM - PRINT ACTUAL VALUE OF CONSONANT
5080 REM - ROUTINE TO `BLANK' BLINKING "SPINNING WHEEL ...." MESSAGE.
5090 FOR Z= 1 TO 35
5100	POKE(63103!+Z),32
5110 NEXT
5120 REM
5130 RETURN
5140 REM -------------
5150 REM - SUBROUTINE TO PRINT RANDOMLY SELECTED
5160 REM   CONSONANT VALUE NEXT TO `>'
5170 IF TU$="BANKRUPT" THEN GOTO 5180 ELSE 5190
5180 POKE(63139!),62:POKE(63140!),32:POKE(63141!),66:POKE(63142!),65:POKE(63143!),78:POKE(63144!),75:POKE(63145!),82:POKE(63146!),85:POKE(63147!),80:POKE(63148!),84:RETURN
5190 IF TU$="LOSE TURN" THEN GOTO 5200 ELSE 5210
5200 POKE(63139!),62:POKE(63140!),76:POKE(63141!),79:POKE(63142!),83:POKE(63143!),69:POKE(63144!),32:POKE(63145!),84:POKE(63146!),85:POKE(63147!),82:POKE(63148!),78:RETURN
5210 IF VC=100 THEN 5220 ELSE 5230
5220 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),49:POKE(63147!),48:POKE(63148!),48:RETURN
5230 IF VC=150 THEN 5240 ELSE 5250
5240 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),49:POKE(63147!),53:POKE(63148!),48:RETURN
5250 IF VC=200 THEN 5260 ELSE 5270
5260 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),50:POKE(63147!),48:POKE(63148!),48:RETURN
5270 IF VC=300 THEN 5280 ELSE 5290
5280 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),51:POKE(63147!),48:POKE(63148!),48:RETURN
5290 IF VC=400 THEN 5300 ELSE 5310
5300 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),52:POKE(63147!),48:POKE(63148!),48:RETURN
5310 IF VC=500 THEN 5320 ELSE 5330
5320 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),53:POKE(63147!),48:POKE(63148!),48:RETURN
5330 IF VC=600 THEN 5340 ELSE 5350
5340 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),54:POKE(63147!),48:POKE(63148!),48:RETURN
5350 IF VC=700 THEN 5360 ELSE 5370
5360 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),55:POKE(63147!),48:POKE(63148!),48:RETURN
5370 IF VC=800 THEN 5380 ELSE 5390
5380 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),56:POKE(63147!),48:POKE(63148!),48:RETURN
5390 IF VC=900 THEN 5400 ELSE 5410
5400 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),32:POKE(63146!),57:POKE(63147!),48:POKE(63148!),48:RETURN
5410 IF VC=1000 THEN 5420 ELSE 5430
5420 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),49:POKE(63146!),48:POKE(63147!),48:POKE(63148!),48:RETURN
5430 IF VC=5000 THEN 5440 ELSE 5450
5440 POKE(63139!),62:POKE(63140!),32:POKE(63141!),32:POKE(63142!),32:POKE(63143!),32:POKE(63144!),32:POKE(63145!),53:POKE(63146!),48:POKE(63147!),48:POKE(63148!),48
5450 RETURN
5460 REM -------------
5470 END
