560 lines
13 KiB
Text
560 lines
13 KiB
Text
|
|
/*
|
|||
|
|
|
|||
|
|
Go Fish
|
|||
|
|
-- Rich Love --
|
|||
|
|
|
|||
|
|
FutureBasic app For Macintosh
|
|||
|
|
Get the latest FutureBasic here
|
|||
|
|
http://www.brilorsoftware.com/fb/pages/home.html
|
|||
|
|
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
|
|||
|
|
_window = 1
|
|||
|
|
begin enum 1
|
|||
|
|
_scrollView
|
|||
|
|
_textView
|
|||
|
|
end enum
|
|||
|
|
|
|||
|
|
override _forLoopsAlwaysExecuteAtLeastOnce = _true
|
|||
|
|
|
|||
|
|
begin globals
|
|||
|
|
|
|||
|
|
str255 cards
|
|||
|
|
cards = "A234567890JQK"
|
|||
|
|
short play(13), Computer(13), deck(13), guess(13), poss(13), asked(13)
|
|||
|
|
str255 YourName, Someone
|
|||
|
|
//bool gNeedToClearScreen
|
|||
|
|
short Points(2) : Points(0) = 0 : Points(1) = 0
|
|||
|
|
short i, k, j, CardNumber
|
|||
|
|
short RemainingCards
|
|||
|
|
|
|||
|
|
end globals
|
|||
|
|
|
|||
|
|
|
|||
|
|
local fn CheckForFaceCard(TheCard as short) as str255
|
|||
|
|
str255 WantsCard
|
|||
|
|
WantsCard = str$(TheCard)
|
|||
|
|
|
|||
|
|
if TheCard = 0 then WantsCard = "10"
|
|||
|
|
if TheCard = 11 then WantsCard = "jack"
|
|||
|
|
if TheCard = 12 then WantsCard = "Queen"
|
|||
|
|
if TheCard = 13 then WantsCard = "King"
|
|||
|
|
if TheCard = 1 then WantsCard = "Ace"
|
|||
|
|
end fn = WantsCard
|
|||
|
|
|
|||
|
|
|
|||
|
|
void local fn PrintViewScrollToBottom( printView as ViewRef )
|
|||
|
|
BeginCCode
|
|||
|
|
NSScrollView *scrollView = [printView enclosingScrollView];
|
|||
|
|
NSClipView *clipView = [scrollView contentView];
|
|||
|
|
[clipView scrollToPoint:NSMakePoint(0,printView.frame.size.height-scrollView.contentSize.height + 20)];
|
|||
|
|
[scrollView reflectScrolledClipView:clipView];
|
|||
|
|
EndC
|
|||
|
|
end fn
|
|||
|
|
|
|||
|
|
|
|||
|
|
void local fn DealCards
|
|||
|
|
|
|||
|
|
RemainingCards -= 1
|
|||
|
|
short sc
|
|||
|
|
sc = rnd(RemainingCards) + 1 // 5/2/24 Rich added + 1
|
|||
|
|
|
|||
|
|
For k = 1 To 13
|
|||
|
|
sc -= deck(k)
|
|||
|
|
If sc <= 0 Then exit fn
|
|||
|
|
Next k
|
|||
|
|
|
|||
|
|
End fn
|
|||
|
|
|
|||
|
|
void local fn youGoFishing
|
|||
|
|
|
|||
|
|
fn DealCards
|
|||
|
|
|
|||
|
|
str255 WantsCard
|
|||
|
|
WantsCard = fn CheckForFaceCard(k)
|
|||
|
|
|
|||
|
|
if WantsCard = "0" then WantsCard = "10"
|
|||
|
|
|
|||
|
|
Print " " + WantsCard + "."
|
|||
|
|
deck(k) -= 1
|
|||
|
|
play(k) += 1
|
|||
|
|
|
|||
|
|
End fn
|
|||
|
|
|
|||
|
|
|
|||
|
|
void local fn cpuGoFishing
|
|||
|
|
|
|||
|
|
fn DealCards
|
|||
|
|
Print " a card from the deck."
|
|||
|
|
if k > 13 then k = 13
|
|||
|
|
deck(k) -= 1
|
|||
|
|
Computer(k) += 1
|
|||
|
|
|
|||
|
|
End fn
|
|||
|
|
|
|||
|
|
|
|||
|
|
void local fn CheckForCompletedBook
|
|||
|
|
|
|||
|
|
For i = 1 To 13
|
|||
|
|
If play(i) <> 4
|
|||
|
|
Else
|
|||
|
|
text ,,fn colorcyan
|
|||
|
|
|
|||
|
|
str255 WantsCard
|
|||
|
|
WantsCard = Mid$(cards,i,1)
|
|||
|
|
|
|||
|
|
if WantsCard = "j" || WantsCard = "J" then WantsCard = "Jack"
|
|||
|
|
if WantsCard = "q" || WantsCard = "Q" then WantsCard = "Queen"
|
|||
|
|
if WantsCard = "k" || WantsCard = "K" then WantsCard = "King"
|
|||
|
|
if WantsCard = "a" || WantsCard = "A" then WantsCard = "Ace"
|
|||
|
|
if WantsCard = "0" then WantsCard = "10"
|
|||
|
|
|
|||
|
|
Print YourName + " completed the book of " + WantsCard + "'s."
|
|||
|
|
text ,,fn colorWhite
|
|||
|
|
play(i) = 0
|
|||
|
|
Points(0) += 1
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1))
|
|||
|
|
End If
|
|||
|
|
Next i
|
|||
|
|
|
|||
|
|
End fn
|
|||
|
|
|
|||
|
|
local fn CheckCPUForCompletedBook
|
|||
|
|
|
|||
|
|
For i = 1 To 13
|
|||
|
|
|
|||
|
|
If Computer(i) <> 4
|
|||
|
|
Else
|
|||
|
|
text ,,fn colorCyan
|
|||
|
|
str255 WantsCard
|
|||
|
|
WantsCard = Mid$(cards,i,1)
|
|||
|
|
|
|||
|
|
if WantsCard = "j" || WantsCard = "J" then WantsCard = "Jack"
|
|||
|
|
if WantsCard = "q" || WantsCard = "Q" then WantsCard = "Queen"
|
|||
|
|
if WantsCard = "k" || WantsCard = "K" then WantsCard = "King"
|
|||
|
|
if WantsCard = "a" || WantsCard = "A" then WantsCard = "Ace"
|
|||
|
|
if WantsCard = "0" then WantsCard = "10"
|
|||
|
|
|
|||
|
|
Print "CPU completed the book of " + WantsCard + "'s."
|
|||
|
|
|
|||
|
|
text ,,fn colorWhite
|
|||
|
|
Computer(i) = 0
|
|||
|
|
Points(1) += 1
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1))
|
|||
|
|
End If
|
|||
|
|
Next i
|
|||
|
|
|
|||
|
|
End fn
|
|||
|
|
|
|||
|
|
|
|||
|
|
local fn InitCards
|
|||
|
|
|
|||
|
|
cards = "A234567890JQK"
|
|||
|
|
RemainingCards = 4 * len$(cards) // the length of cards is 13. There are 4 suits of cards. so RemainingCards is 52
|
|||
|
|
i = 0:k = 0:j = 0:CardNumber = 0
|
|||
|
|
|
|||
|
|
For i = 0 to 1
|
|||
|
|
Points(i) = 0
|
|||
|
|
next i
|
|||
|
|
|
|||
|
|
For i = 1 TO 13 // Reset each element to 0
|
|||
|
|
play(i) = 0
|
|||
|
|
Computer(i) = 0
|
|||
|
|
deck(i) = 0
|
|||
|
|
guess(i) = 0
|
|||
|
|
poss(i) = 0
|
|||
|
|
asked(i) = 0
|
|||
|
|
|
|||
|
|
NEXT i
|
|||
|
|
|
|||
|
|
|
|||
|
|
For i = 1 To 13
|
|||
|
|
deck(i) = 4
|
|||
|
|
Next i
|
|||
|
|
For i = 1 To 9
|
|||
|
|
fn DealCards
|
|||
|
|
deck(k) -= 1
|
|||
|
|
Computer(k) += 1
|
|||
|
|
fn DealCards
|
|||
|
|
deck(k) -= 1
|
|||
|
|
play(k) += 1
|
|||
|
|
Next i
|
|||
|
|
|
|||
|
|
fn CheckForCompletedBook // Rich added 5/1/24
|
|||
|
|
fn CheckCPUForCompletedBook // Rich added 5/5/24
|
|||
|
|
end fn
|
|||
|
|
|
|||
|
|
|
|||
|
|
local fn QuitOrPlayAlert(GameResult as CFStringRef)
|
|||
|
|
|
|||
|
|
alert -2,,GameResult,@"Game Over",@"Quit;Play Again"
|
|||
|
|
AlertButtonSetKeyEquivalent( 2, 2, @"\e" )
|
|||
|
|
short result
|
|||
|
|
result = alert 2
|
|||
|
|
if ( result != NSAlertSecondButtonReturn ) then end
|
|||
|
|
|
|||
|
|
end fn
|
|||
|
|
|
|||
|
|
local fn QuitOrResumeAlert(GameResult as CFStringRef)
|
|||
|
|
|
|||
|
|
alert -3,,GameResult,@"Quit the game?",@"Quit;Resume game"
|
|||
|
|
AlertButtonSetKeyEquivalent( 3, 2, @"\e" )
|
|||
|
|
short result
|
|||
|
|
result = alert 3
|
|||
|
|
if ( result != NSAlertSecondButtonReturn ) then end
|
|||
|
|
|
|||
|
|
end fn
|
|||
|
|
|
|||
|
|
local fn CheckForEndGame as boolean
|
|||
|
|
|
|||
|
|
bool PlayAgain = _False
|
|||
|
|
short np = 0, nc = 0
|
|||
|
|
For i = 1 To 13
|
|||
|
|
np += play(i)
|
|||
|
|
nc += Computer(i)
|
|||
|
|
Next i
|
|||
|
|
|
|||
|
|
If RemainingCards = 0 || np = 0 || nc = 0
|
|||
|
|
|
|||
|
|
text ,,fn colorRed
|
|||
|
|
Print "*** Game Over! ***"
|
|||
|
|
Print
|
|||
|
|
If Points(0) < Points(1)
|
|||
|
|
Print "The CPU has won."
|
|||
|
|
print:print
|
|||
|
|
fn QuitOrPlayAlert(@"the CPU won!")
|
|||
|
|
PlayAgain = _True
|
|||
|
|
Else if Points(0) > Points(1)
|
|||
|
|
Print YourName + " has won."
|
|||
|
|
print:print
|
|||
|
|
fn QuitOrPlayAlert(@"You Won!")
|
|||
|
|
PlayAgain = _True
|
|||
|
|
Else
|
|||
|
|
Print "It's a tie!"
|
|||
|
|
fn QuitOrPlayAlert(@"It's a tie!.")
|
|||
|
|
PlayAgain = _True
|
|||
|
|
End If
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1) )
|
|||
|
|
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
PlayAgain = _True
|
|||
|
|
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
End fn = PlayAgain
|
|||
|
|
|
|||
|
|
|
|||
|
|
void local fn Intro
|
|||
|
|
|
|||
|
|
text ,,fn colorGreen
|
|||
|
|
Print " __ _ _ "
|
|||
|
|
Print " __ _ ___ / _(_)___| |__ "
|
|||
|
|
Print " / ` |/ _ \ | |_| / __| //_ \ "
|
|||
|
|
Print "| (_) | (_) | | _| \__ \ | | | "
|
|||
|
|
Print " \__, |\___/ |_| |_|___/_| |_| "
|
|||
|
|
Print " |___/ "
|
|||
|
|
Print ""
|
|||
|
|
|
|||
|
|
text ,,fn colorCyan
|
|||
|
|
print %(301,90),"( x to exit the game )"
|
|||
|
|
text ,,fn colorWhite
|
|||
|
|
|
|||
|
|
print " Go Fish Rules:"
|
|||
|
|
print
|
|||
|
|
print " You are playing against the CPU."
|
|||
|
|
print " You are dealt nine cards to start with."
|
|||
|
|
print " The remaining cards are placed face down in the center of the table"
|
|||
|
|
print " to form the draw pile (the fish pond)."
|
|||
|
|
print " On your turn, you ask the CPU For a card."
|
|||
|
|
print " You must already have at least one card of a given rank to ask For more."
|
|||
|
|
print " (A rank is one or more of any card.)"
|
|||
|
|
print " If the CPU has any cards of the named rank, it must hand over all such cards,"
|
|||
|
|
print " and you can then ask again."
|
|||
|
|
print " If the CPU has no cards of the named rank, a card will be drawn from the pile,"
|
|||
|
|
print " and placed in your hand, which then ends your turn."
|
|||
|
|
print " A book is a collection of four cards in a given rank."
|
|||
|
|
print " Whenever you complete a book, it will be removed from your hand."
|
|||
|
|
print " If at any time, your hand is empty, a new card will be drawn from the pile."
|
|||
|
|
print " The game ends when every book is complete,"
|
|||
|
|
print " or there are no more cards left in the pile."
|
|||
|
|
print " The player with the most books wins."
|
|||
|
|
|
|||
|
|
|
|||
|
|
CFStringRef UserInput
|
|||
|
|
"InputYourName"
|
|||
|
|
UserInput = input % (300, 70), @"What's your name?: "
|
|||
|
|
if ( UserInput == NULL ) then "InputYourName" // Rich added this 5/1/24
|
|||
|
|
fn CFStringGetPascalString (UserInput, @YourName, 256, _kCFStringEncodingMacRoman)
|
|||
|
|
cls
|
|||
|
|
|
|||
|
|
if YourName = "X" || YourName = "x" || YourName = chr$(127) then fn QuitOrResumeAlert(@"EXIT")
|
|||
|
|
|
|||
|
|
End fn
|
|||
|
|
|
|||
|
|
|
|||
|
|
local fn WhatCardInputHeight as short
|
|||
|
|
|
|||
|
|
CGRect mainScreenFrame = fn ScreenMainFrame
|
|||
|
|
float InputHeight = int(mainScreenFrame.size.height - 120)
|
|||
|
|
|
|||
|
|
end fn = InputHeight
|
|||
|
|
|
|||
|
|
|
|||
|
|
local fn BuildWindow
|
|||
|
|
|
|||
|
|
// ---> Get the size of the Main Screen. <---
|
|||
|
|
CGRect mainScreenFrame = fn ScreenMainFrame
|
|||
|
|
float msh = mainScreenFrame.size.height
|
|||
|
|
CGRect r = fn CGRectMake( 0, 0, 600, int(msh) - 110)
|
|||
|
|
|
|||
|
|
window 1, @"Go Fish", r
|
|||
|
|
windowcenter(1)
|
|||
|
|
WindowSetBackgroundColor(1,fn ColorBlack)
|
|||
|
|
|
|||
|
|
end fn
|
|||
|
|
|
|||
|
|
//--- Start ---
|
|||
|
|
|
|||
|
|
fn BuildWindow
|
|||
|
|
|
|||
|
|
fn Intro
|
|||
|
|
|
|||
|
|
fn InitCards
|
|||
|
|
|
|||
|
|
str255 AddTheS
|
|||
|
|
bool RequestCard = _false
|
|||
|
|
short v = 0
|
|||
|
|
short po = 0
|
|||
|
|
boolean ShowHand = _false
|
|||
|
|
str255 WantsCard
|
|||
|
|
|
|||
|
|
"Main"
|
|||
|
|
|
|||
|
|
ShowHand = _false
|
|||
|
|
|
|||
|
|
str255 RequestedCard
|
|||
|
|
|
|||
|
|
While ShowHand = _false
|
|||
|
|
text ,,fn colorGreen
|
|||
|
|
Print Chr$(10) + "Points >> ";
|
|||
|
|
text ,,fn colorYellow
|
|||
|
|
print YourName + ": ";
|
|||
|
|
text ,,fn colorGreen
|
|||
|
|
print Points(0);
|
|||
|
|
text ,,fn colorOrange
|
|||
|
|
print " CPU: ";
|
|||
|
|
text ,,fn colorGreen
|
|||
|
|
print Points(1)
|
|||
|
|
text ,,fn colorWhite
|
|||
|
|
Print Chr$(10) + " " + str$(RemainingCards) + " remaining cards"
|
|||
|
|
text ,,fn colorWhite
|
|||
|
|
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
// Uncomment this to see the CPUs cards For testing
|
|||
|
|
Print Chr$(10) + "CPU Cards: ";
|
|||
|
|
For i = 1 To 13
|
|||
|
|
if Computer(i) <> 0
|
|||
|
|
For j = 1 To Computer(i)
|
|||
|
|
if Mid$(cards,i,1) = "0"
|
|||
|
|
Print @"10"; " ";
|
|||
|
|
else
|
|||
|
|
Print Mid$(cards,i,1); " ";
|
|||
|
|
end if
|
|||
|
|
Next j
|
|||
|
|
End If
|
|||
|
|
Next i
|
|||
|
|
Print
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1))
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
|
|||
|
|
Print Chr$(10) + "Your Cards: ";
|
|||
|
|
For i = 1 To 13
|
|||
|
|
if play(i) <> 0
|
|||
|
|
For j = 1 To play(i)
|
|||
|
|
if Mid$(cards,i,1) = "0"
|
|||
|
|
Print @"10"; " ";
|
|||
|
|
else
|
|||
|
|
Print Mid$(cards,i,1); " ";
|
|||
|
|
end if
|
|||
|
|
Next j
|
|||
|
|
End If
|
|||
|
|
Next i
|
|||
|
|
Print
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1))
|
|||
|
|
|
|||
|
|
RequestCard = _false
|
|||
|
|
|
|||
|
|
While RequestCard = _false
|
|||
|
|
if fn CheckForEndGame = _True then cls:fn InitCards:goto "Loop"
|
|||
|
|
|
|||
|
|
Someone = YourName
|
|||
|
|
|
|||
|
|
CFStringRef UserInput = 0
|
|||
|
|
"InputCard"
|
|||
|
|
UserInput = input % (20, fn WhatCardInputHeight),@"What card do you want? "
|
|||
|
|
if ( UserInput == NULL ) then "InputCard" // Rich added this 5/1/24
|
|||
|
|
fn CFStringGetPascalString (UserInput, @RequestedCard, 256, _kCFStringEncodingMacRoman)
|
|||
|
|
if RequestedCard = "10" then RequestedCard = "0"// card zero is a 10
|
|||
|
|
text ,,fn ColorYellow
|
|||
|
|
Print
|
|||
|
|
|
|||
|
|
WantsCard = RequestedCard
|
|||
|
|
|
|||
|
|
if WantsCard = "j" || WantsCard = "J" then WantsCard = "Jack"
|
|||
|
|
if WantsCard = "q" || WantsCard = "Q" then WantsCard = "Queen"
|
|||
|
|
if WantsCard = "k" || WantsCard = "K" then WantsCard = "King"
|
|||
|
|
if WantsCard = "a" || WantsCard = "A" then WantsCard = "Ace"
|
|||
|
|
if WantsCard = "0" then WantsCard = "10"
|
|||
|
|
|
|||
|
|
print "-------------------------------------"
|
|||
|
|
print
|
|||
|
|
str255 AorAn
|
|||
|
|
AorAn = "a"
|
|||
|
|
if WantsCard = "Ace" then AorAn = "an"
|
|||
|
|
print YourName + " asked For " + AorAn + " " + WantsCard
|
|||
|
|
print
|
|||
|
|
text ,,fn ColorWhite
|
|||
|
|
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1))
|
|||
|
|
|
|||
|
|
if RequestedCard = "X" || RequestedCard = "x" then fn QuitOrResumeAlert(@"EXIT")
|
|||
|
|
|
|||
|
|
If RequestedCard <> "" Then CardNumber = Instr$(1,cards, Ucase$(RequestedCard)): RequestCard = _true
|
|||
|
|
|
|||
|
|
If CardNumber = 0
|
|||
|
|
text,,fn ColorRed
|
|||
|
|
Print "Sorry, that is not a valid card.": RequestCard = _false
|
|||
|
|
print
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1))
|
|||
|
|
Else if play(CardNumber) = 0 Then text ,,fn colorRed: Print "You don//t have that card!": text ,,fn colorRed: RequestCard = _false
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1))
|
|||
|
|
text,,fn ColorWhite
|
|||
|
|
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
Wend
|
|||
|
|
|
|||
|
|
guess(CardNumber) = 1
|
|||
|
|
|
|||
|
|
If Computer(CardNumber) = 0
|
|||
|
|
Print Someone + ",";
|
|||
|
|
text ,,fn colorRed
|
|||
|
|
Print " Go fish!"
|
|||
|
|
text ,,fn colorWhite
|
|||
|
|
Print Someone + " got a";: fn youGoFishing
|
|||
|
|
print
|
|||
|
|
fn CheckForCompletedBook
|
|||
|
|
ShowHand = _true
|
|||
|
|
Else
|
|||
|
|
v = Computer(CardNumber)
|
|||
|
|
Computer(CardNumber) = 0
|
|||
|
|
play(CardNumber) += v
|
|||
|
|
if v > 1 then AddTheS = "s" else AddTheS = ""
|
|||
|
|
Print Someone + " got" + str$(v) + " card" + AddTheS
|
|||
|
|
fn CheckForCompletedBook
|
|||
|
|
fn PrintViewScrollToBottom( fn WindowPrintView(1))
|
|||
|
|
ShowHand = _false
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
Wend
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
Someone = "CPU"
|
|||
|
|
For i = 1 To 13
|
|||
|
|
asked(i) = 0
|
|||
|
|
Next i
|
|||
|
|
|
|||
|
|
bool CPUsTurn = _false
|
|||
|
|
|
|||
|
|
While CPUsTurn = _false
|
|||
|
|
if fn CheckForEndGame = _True then cls:fn InitCards:goto "Loop"
|
|||
|
|
|
|||
|
|
po = 0
|
|||
|
|
For i = 1 To 13
|
|||
|
|
If (Computer(i) > 0) && (guess(i) > 0) Then poss(i) = 1: po += 1
|
|||
|
|
Next i
|
|||
|
|
|
|||
|
|
short whilecounter
|
|||
|
|
WhileCounter = 0
|
|||
|
|
|
|||
|
|
|
|||
|
|
If po = 0
|
|||
|
|
// this k is the go fish card.
|
|||
|
|
|
|||
|
|
k = rnd(12) +1
|
|||
|
|
while Computer(k) = 0 || asked(k)
|
|||
|
|
whilecounter ++
|
|||
|
|
k = rnd(12) +1
|
|||
|
|
if WhileCounter > 100 then k = 0: exit while //5/5/24 Rich added this to prevent hangs
|
|||
|
|
wend
|
|||
|
|
|
|||
|
|
Else
|
|||
|
|
|
|||
|
|
k = rnd(12) + 1
|
|||
|
|
while poss(k) = 0
|
|||
|
|
k = rnd(12) + 1
|
|||
|
|
if WhileCounter > 100 then k = 0: exit while //5/5/24 Rich added this to prevent hangs
|
|||
|
|
wend
|
|||
|
|
|
|||
|
|
guess(k) = 0
|
|||
|
|
asked(k) = 1
|
|||
|
|
|
|||
|
|
end if
|
|||
|
|
|
|||
|
|
|
|||
|
|
if k = 0 then "Loop" //5/5/24 Rich added this to prevent hangs
|
|||
|
|
|
|||
|
|
WantsCard = fn CheckForFaceCard(k)
|
|||
|
|
|
|||
|
|
if WantsCard = "j" || WantsCard = "J" then WantsCard = "Jack"
|
|||
|
|
if WantsCard = "q" || WantsCard = "Q" then WantsCard = "Queen"
|
|||
|
|
if WantsCard = "k" || WantsCard = "K" then WantsCard = "King"
|
|||
|
|
if WantsCard = "a" || WantsCard = "A" then WantsCard = "Ace"
|
|||
|
|
if WantsCard = "0" then WantsCard = "10"
|
|||
|
|
|
|||
|
|
text ,,fn ColorOrange
|
|||
|
|
|
|||
|
|
print "-------------------------------------"
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
Print:Print Someone + " wants your " + wantsCard + "'s."
|
|||
|
|
print
|
|||
|
|
|
|||
|
|
text ,,fn ColorWhite
|
|||
|
|
|
|||
|
|
asked(k) = 1
|
|||
|
|
|
|||
|
|
|
|||
|
|
If play(k) = 0
|
|||
|
|
Print Someone + ", ";
|
|||
|
|
text ,,fn colorRed: Print "go fish!"
|
|||
|
|
text ,,fn colorWhite:Print Someone + " got";: fn cpuGoFishing
|
|||
|
|
|
|||
|
|
fn CheckCPUForCompletedBook
|
|||
|
|
CPUsTurn = _true
|
|||
|
|
|
|||
|
|
Else
|
|||
|
|
|
|||
|
|
v = play(k)
|
|||
|
|
play(k) = 0
|
|||
|
|
Computer(k) += v
|
|||
|
|
if v > 1 then AddTheS = "s" else AddTheS = ""
|
|||
|
|
Print Someone + " got" + str$(v) + " card" + AddTheS
|
|||
|
|
fn CheckCPUForCompletedBook
|
|||
|
|
CPUsTurn = _false
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
|
|||
|
|
Wend
|
|||
|
|
|
|||
|
|
"Loop"
|
|||
|
|
goto "Main"
|
|||
|
|
|
|||
|
|
handleevents
|