Code covered by the BSD License
-
BJCreateBoard(AllVisible)
Creates the Blackjack Playing Board
-
BJInitValues
Creates a GUI that allows the player to determine the initial values to be
-
BJActionSelect(Action)
This function is called when the Hit, Stand and Double boxes are pressed
-
BJBetSuggest(handles)
This function uses the True Count and number of decks in use to determine
-
BJDealCard(recipient,facedown...
This function will deal a card to the dealer
-
BJDealerHits(handles)
Deal Card
-
BJDetermineWinner
Determines the winner of the blackjack hand
-
BJPlayerHits(handles)
Performs the required actions when a player decides to hit, on the hand
-
BJSetTrueCntColor(handles)
Sets the color of the True Count string that is output to the screen based
-
BJSuggest(UseCount, varargin)
This function uses the Player, Dealer, BJOdds and Cards structures to determine
-
BJUpdateHiLoCount(handles,Car...
Updates the Hi-Lo count, where CardSpot is the location of the card in the
-
HandsLeft(handles)
function for updating the value of Bankroll.HandsLeft when the
-
QuitGame
-
ShuffleCards(NumDecks)
This function takes the number of decks needed as an input, and outputs a
-
[oarg,varargout]=cardplot(var...
CARDPLOT Plot playing cards for card games.
-
Blackjack.m
-
View all files
from
Blackjack
by Michael Iori
Fully functional blackjack simulator
|
| BJPlayerHits(handles)
|
function BJPlayerHits(handles)
%Performs the required actions when a player decides to hit, on the hand
%specified by Player.CurrentHand
global BJPLAYER
global BJDEALER
global CARDS
global BANKROLL
%If the player doubled down but doesn't have the money, call it
%a hit
if (BJPLAYER.hitorstand == 3) && (BANKROLL.Money < 2*BANKROLL.Bet(BJPLAYER.CurrentHand))
set(handles.NoDDMoneyTxt,'visible','on');
BJPLAYER.hitorstand = 1;
end
%Deal another card
BJDealCard('player');
%Check and compensate for Aces
if (CARDS.Rank(CARDS.NextCard-1) == 1) && (BJPLAYER.Total(BJPLAYER.CurrentHand) < 12)
BJPLAYER.Total(BJPLAYER.CurrentHand) = BJPLAYER.Total(BJPLAYER.CurrentHand) + 10;
BJPLAYER.Ace(BJPLAYER.CurrentHand) = 1;
end
if (BJPLAYER.Ace(BJPLAYER.CurrentHand) == 1) && (BJPLAYER.Total(BJPLAYER.CurrentHand) > 21)
BJPLAYER.Total(BJPLAYER.CurrentHand) = BJPLAYER.Total(BJPLAYER.CurrentHand) - 10;
BJPLAYER.Ace(BJPLAYER.CurrentHand) = 0;
end
%Update the appropriate string with the new total
if BJPLAYER.Splits
set(handles.PlayerTotalSplitTxt(BJPLAYER.CurrentHand),'string',['Your Total : ' num2str(BJPLAYER.Total(BJPLAYER.CurrentHand))]);
else
set(handles.PlayerTotalTxt,'string',['Your Total : ' num2str(BJPLAYER.Total)]);
end
%Double the bet if it was a double down
if BJPLAYER.hitorstand == 3
BANKROLL.Bet(BJPLAYER.CurrentHand) = BANKROLL.Bet(BJPLAYER.CurrentHand)*2;
end
|
|
Contact us at files@mathworks.com