PALETTE 0,0,.2,.8:PALETTE 2,.8,.7,0:PALETTE 3,.8,.1,0
COLOR 2:LOCATE 10,25:PRINT "******* WHEEL OF FORTUNE *******"
LOCATE 12,25:PRINT "       by MICHAEL FAHRION"
LOCATE 13,25:PRINT "              CA-AUG"
COLOR 1:SAY TRANSLATE$("")
pause&=TIMER:WHILE TIMER<pause&+5:WEND:CLS
Start:
DIM an$(50),sp(50),z(50),gs$(50),ltr$(26),usdltr$(50),voice%(8),voce%(8),ltrpk(90)
CLS:sp=0:z=0
RANDOMIZE TIMER:frst=INT(RND*2)+1
IF frst=1 THEN 
  O=1:T=2
ELSE
  O=2:T=1
END IF
PRINT "The computer will pick which of the two players will start"
PRINT:INPUT "Player 1";plr$(O)
plr$(O)=UCASE$(plr$(O))
PRINT:INPUT "Player 2";plr$(T)
plr$(T)=UCASE$(plr$(T))
PRINT:PRINT "Do you want to put in the answers or have the computer choose"
PRINT:PRINT "one from the disk file?  Y = You   C = Computer"
WhoPick:
R$="":WHILE R$="":R$=INKEY$:WEND
R$=UCASE$(R$)
IF R$="Y" THEN GOSUB Answer
IF R$="C" THEN GOSUB CompPik
GOTO WhoPick
StrtSeq:
GOSUB BxMkr
GOSUB SetUp
GOSUB Spnr
MainLoop:
GOSUB PlayrTrn
LOCATE 19,18:PRINT "S = Spin   B = Buy Vowel  G = Guess Answer  "
Playloop:
p$=INKEY$:p$=UCASE$(p$)
 IF p$=" " THEN Playloop
 IF p$="S" OR p$="B" OR p$="G" THEN cnt
GOTO Playloop
cnt:
LOCATE 19,18:PRINT "                                           " 
IF p$="S" THEN GOSUB SpinIt:GOSUB GuessIt
IF p$="B" THEN GOSUB BuyVowel
IF p$="G" THEN GOSUB  GssAns
GOSUB CheckGuess
GOSUB GoodGuess
GOSUB Usd
GOSUB Score
GOTO MainLoop
SpinIt:
LOCATE 6,36:PRINT "      "
LOCATE 7,35:PRINT "        "
GOSUB Spnr
RANDOMIZE TIMER
z=INT((RND*13)+1)*100
IF z=1300 THEN
 LOCATE 6,37:PRINT "FREE"
 LOCATE 7,37:PRINT "SPIN"
 fs(plyr)=fs(plyr)+1
 RETURN MainLoop
END IF 
IF z=1200 THEN
 LOCATE 7,35:PRINT "BANKRUPT"
 GOSUB Broke
 RETURN MainLoop
END IF
IF z=1100 THEN
 LOCATE 6,37:PRINT "LOSE"
 LOCATE 7,37:PRINT "TURN"
 endtrn=endtrn+1
 RETURN MainLoop
ELSE  
  IF z<1100 THEN
  LOCATE 7,36:PRINT "$";z
  END IF 
END IF
RETURN
END
Spnr:
GOSUB shout
FOR i=1 TO 3
SOUND 2000,.1:FOR j=1 TO 160:NEXT j
COLOR i-1:AREA(240,38):AREA(263,44):AREA(283,34):AREA(270,24):AREA(252,30):AREAFILL 
COLOR i,i-1:LOCATE 5,33:PRINT "$"
SOUND 2000,.1:FOR j=1 TO 160:NEXT j
AREA(272,24):AREA(284,33):AREA(318,33):AREA(329,24):AREA(301,21):AREAFILL
COLOR i-1,i:LOCATE 4,38:PRINT "$"
SOUND 2000,.1:FOR j=1 TO 160:NEXT j
COLOR i-1:AREA(332,23):AREA(320,34):AREA(339,43):AREA(365,39):AREA(350,30):AREAFILL 
COLOR i,i-1:LOCATE 5,43:PRINT "$"
SOUND 2000,.1:FOR j=1 TO 160:NEXT j
AREA(340,45):AREA(365,40):AREA(369,51):AREA(365,62):AREA(340,56):AREAFILL
COLOR i-1,i:LOCATE 7,45:PRINT "$"
SOUND 2000,.1:FOR j=1 TO 160:NEXT j
COLOR i-1:AREA(340,58):AREA(364,64):AREA(346,74):AREA(329,78):AREA(322,68):AREAFILL     
COLOR i,i-1:LOCATE 9,43:PRINT "$"
SOUND 2000,.1:FOR j=1 TO 160:NEXT j
AREA(320,69):AREA(328,78):AREA(300,81):AREA(273,78):AREA(283,69):AREAFILL
COLOR i-1,i:LOCATE 10,38:PRINT "$"
SOUND 2000,.1:FOR j=1 TO 160:NEXT j
COLOR i-1:AREA(281,68):AREA(270,78):AREA(253,73):AREA(239,64):AREA(262,58):AREAFILL
COLOR i,i-1:LOCATE 9,33:PRINT "$"
SOUND 2000,.1:FOR j=1 TO 160:NEXT j
AREA(261,57):AREA(237,63):AREA(232,51):AREA(239,39):AREA(261,46):AREAFILL
COLOR i-1,i:LOCATE 7,31:PRINT "$"
NEXT
COLOR 1,0                         
RETURN
CompPik:
OPEN "R",#2,"WHEEL",50
FIELD #2,40 AS A$,10 AS cat$
OPEN "ANSWERS" FOR INPUT AS #3
INPUT #3,N
CLOSE #3
K=INT(RND*N)+1
GET #2,K
cmpk=1
RETURN StrtSeq
Answer:
PRINT:PRINT "  Enter answer line - max 40 characters and spaces."
PRINT:INPUT A$
PRINT:PRINT "  What is the catagory of your puzzle (name,title,phrase,etc.)"
PRINT:INPUT cat$
RETURN StrtSeq
BxMkr:
cat$=UCASE$(cat$):A$=UCASE$(A$):l=LEN(A$):CLS
FOR i=1 TO l
an$(i)=MID$(A$,i,1)
IF an$(i)=" " THEN sp(i)=1
NEXT
FOR i=1 TO l
x=i*16
LINE(5+x,94)-(17+x,105),2,B 
IF sp(i)=1 THEN LINE(5+x,94)-(17+x,105),2,bf  
NEXT
LOCATE 11,5:COLOR 2:PRINT cat$:COLOR 1
RETURN
GuessIt:
LOCATE 19,25:PRINT "Guess a letter"
gs$="":WHILE gs$="":gs$=INKEY$:WEND
LOCATE 19,25:PRINT "                    "
gs$=UCASE$(gs$)
IF gs$="A" OR gs$="E" OR gs$="I" OR gs$="O" OR gs$="U" THEN
 LOCATE 21,25:PRINT "You must buy vowels"
 GOTO GuessIt
END IF
LOCATE 21,25:PRINT "                     "
RETURN
BuyVowel:
IF scr(plyr)<249 THEN 
 LOCATE 19,19:PRINT"Vowels cost $250, you do not have enough"
 endtrn=endtrn+1:pause%=TIMER:WHILE TIMER<pause+5:WEND
 RETURN MainLoop
END IF  
LOCATE 19,19:PRINT"What vowel do you want to buy"
gs$="":WHILE gs$="":gs$=INKEY$:WEND
gs$=UCASE$(gs$)
IF gs$="A" OR gs$="E" OR gs$="I" OR gs$="O" OR gs$="U" THEN 
 GOTO GdVwl
ELSE 
 LOCATE 21,25:PRINT gs$;" is not a vowel"
 LOCATE 19,45:PRINT "          "
 GOTO BuyVowel
END IF
GdVwl: 
z=-250:bv=1
LOCATE 19,19:PRINT"                                   "
RETURN
GoodGuess:
FOR i=1 TO l       
LOCATE 13,i*2+2
IF an$(i)=gs$ THEN
 SOUND 500,1.5,250
 PRINT an$(i)
 rt=rt+1:mtch=1
 FOR j=1 TO 150:NEXT j
END IF
NEXT 
IF mtch=1 THEN SAY TRANSLATE$ ("good guess")
RETURN
Usd:
alp$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
FOR i=1 TO 26:ltr$(i)=MID$(alp$,i,1):NEXT
COLOR 0,2
FOR i=1 TO 26
LOCATE 17,24+i
IF ltr$(i)=gs$ THEN PRINT ltr$(i):gsn=gsn+1
NEXT
usdltr$(gsn)=gs$
COLOR 1,0
IF mtch=0 THEN 
 endtrn=endtrn+1
 RETURN MainLoop
END IF
mtch=0  
RETURN
Score:
IF rt=0 THEN RETURN
IF bv=1 THEN rt=1 ELSE rt=rt
IF z<1100 THEN scr(plyr)=z*rt+scr(plyr) 
IF z=1100 THEN scr(plyr)=scr(plyr)
LOCATE 7,8+trn:COLOR 3,1:PRINT "$";scr(plyr)
COLOR 1,0:rt=0:bv=0
RETURN
Broke:
LOCATE 7,8+trn:COLOR 3,1:PRINT "$ 0        "
COLOR 1,0:z=0:scr(plyr)=0:endtrn=endtrn+1 
RETURN MainLoop
CheckGuess:
LOCATE 21,25:PRINT "                              "
FOR i=1 TO gsn
IF usdltr$(i)=gs$ THEN
 LOCATE 21,25:PRINT gs$;" has already been guessed"
 endtrn=endtrn+1
 RETURN MainLoop
END IF
NEXT
RETURN
PlayrTrn:
IF fs(1)>0 AND endtrn=1 AND plyr=1 THEN GOSUB FreSpn
IF fs(2)>0 AND endtrn=2 AND plyr=2 THEN GOSUB FreSpn
IF endtrn=2 THEN endtrn=0
IF endtrn=1 THEN trn=49 ELSE trn=0
IF endtrn=0 THEN plyr=1 ELSE plyr=2
COLOR 2
IF plyr=1 THEN
 LOCATE 3,7:PRINT plr$(1);"'S TURN"
 LOCATE 3,56:PRINT "                     "
END IF
IF plyr=2 THEN
 LOCATE 3,56:PRINT plr$(2);"'S TURN"
 LOCATE 3,7:PRINT "                      "
END IF
SAY TRANSLATE$(plr$(plyr)+"s turn")
COLOR 1 
RETURN
FreSpn:
LOCATE 19,18:PRINT "Do you want to use your free spin. (Y/N)"
pick:
pfs$=INKEY$:pfs$=UCASE$(pfs$)
IF pfs$=" " THEN pick
IF pfs$="Y" THEN
  endtrn=endtrn-1:fs(plyr)=fs(plyr)-1
  RETURN
END IF
IF pfs$="N" THEN RETURN
GOTO pick
RETURN 
SetUp:
CIRCLE (301,51),40,3:CIRCLE (301,51),70,3
CIRCLE (301,51),38,1:CIRCLE (301,51),72,1
CIRCLE (301,51),37,3:CIRCLE (301,51),73,3
FOR i=1 TO 2
LINE (50+sb,44)-(150+sb,59),3,B
LINE (53+sb,46)-(147+sb,57),,bf
sb=sb+390
NEXT
LOCATE 5,8:PRINT plr$(1);TAB(57);plr$(2)
LINE(100,118)-(500,138),2,bf:LINE(97,116)-(503,140),3,B
LOCATE 16,32:COLOR 3,2:PRINT "USED LETTERS":COLOR 1,0
RETURN
GssAns:
LOCATE 19,20:PRINT "What do you think it says"
LOCATE 21,20:INPUT Ges$
Ges$=UCASE$(Ges$)
IF cmpk=1 THEN
 LnA=LEN(Ges$):ml=39-LnA:xs$=" "
 FOR i=1 TO ml:xs$=xs$+" ":NEXT:Ges$=Ges$+xs$                       
END IF
IF Ges$=A$ THEN
 COLOR 3
 LOCATE 23,25:PRINT plr$(plyr);" WINS!!!!"
 SAY TRANSLATE$ (plr$(plyr)+" wins")
 GOTO NdGame 
ELSE
 LOCATE 22,20:PRINT "WRONG ANSWER"
 endtrn=endtrn+1
 pause&=TIMER:WHILE TIMER<pause&+4:WEND
 LOCATE 19,20:PRINT "                                        "
 LOCATE 21,20:PRINT "                                                   "
 LOCATE 22,20:PRINT "             "
 RETURN MainLoop
END IF 
shout:
saywt=INT(RND*3)+1
RESTORE
FOR i=0 TO 8:READ voice%(i):NEXT
FOR i=0 TO 8:READ voce%(i):NEXT
IF saywt=1 THEN SAY "BIH4G MAH4NIY BIH1G MAH1NIY",voice%
IF saywt=2 THEN SAY "KAH4M AAAAAAAAAAAA4N WAH4N THAW4Z AE4ND",voce%
DATA 220,0,210,1,26000,64,10,0,0
DATA 95,0,235,0,22000,64,10,0,0
RETURN
NdGame:
CLOSE #2
COLOR 1:pause&=TIMER:WHILE TIMER<pause&+8:WEND
CLS:LOCATE 15,20:PRINT "DO YOU WANT TO PLAY AGAIN? (Y/N)"
OneMore:
rply$=INKEY$:rply$=UCASE$(rply$)
 IF rply$=" " THEN OneMore
 IF rply$="Y"THEN CLEAR:GOTO Start
 IF rply$="N" THEN ByBy
GOTO OneMore
ByBy:
LOCATE 17,25:PRINT "THANKS FOR THE GAME"
pause&=TIMER:WHILE TIMER<pause&+5:WEND
CLEAR:SYSTEM
END


