Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <title> Blackjack </title>
- <style type="text/css"></style>
- <script type="text/javascript">
- var playerIndex = new Array();
- var playerHand = new Array();
- var playerHandSuit = new Array();
- var dealerHand = new Array();
- var dealerHandSuit = new Array();
- var playerHandValueHard = 0;
- var playerHandValueSoft = 0;
- var dealerHandValueHard = 0;
- var dealerHandValueSoft =0;
- var playerCardNumber = 0;
- var playerNumber = 0;
- var numberOfPlayers = 1;
- var stillin = true;
- var winner = 0;
- function gameStart()
- {
- playerNumber = 0;
- playerStart();
- document.getElementById("Controls").innerHTML = "<input type = 'button' value = 'hit' onclick = 'playerHit()'/> <input type = 'button' value = 'stick' onclick = 'stick()'/>";
- }
- function playerStart()
- {
- var c=0;
- while(c<2)
- {
- playerHit();
- c = c+1;
- }
- }
- function dealer()
- {
- victoryCheck();
- while(dealerHandValueHard < 16 )
- {
- dealerHit();
- }
- victoryCheck();
- }
- function victoryCheck()
- {
- var x;
- var c = 0;
- var i;
- var whoWon = new Array();
- var whoTied = new Array();
- for(i in playerIndex)
- {
- x = playerIndex[i];
- if(x[5])
- {
- c = 1;
- }
- }
- if (c === 0)
- {
- alert("Dealer wins.");
- }
- var k = 0;
- var kc = 0;
- for(i in playerIndex)
- {
- x = playerIndex[i];
- if( (x[4] > dealerHandValueHard && x[4] > dealerHandValueSoft) || (x[5] > dealerHandValueHard && x[5] > dealerHandValueSoft) )
- {
- whoWon[k] = i;
- k = k+1;
- }
- else if ( (x[5] >= dealerHandValueHard && x[5] == dealerHandValueSoft) || (x[5] >= dealerHandValueHard && x[5] == dealerHandValueSoft) )
- {
- whoTied[kc] = i;
- kc = kc +1;
- }
- }
- for (i in whoWon)
- {
- alert("Player " + (whoWon[i]+1) + "wins!");
- }
- for (i in whoTied)
- {
- alert("Player " + (whoTied[i]+1) + "wins!");
- }
- }
- function stick()
- {
- playerIndex[playerNumber] = [playerHand, playerHandSuit, playerCardNumber, playerHandValueHard, playerHandValueSoft, stillin, winner];
- playerNumber = playerNumber + 1;
- if(playerNumber >= numberOfPlayers)
- {
- dealer();
- }
- else
- {
- playerHandValueHard = 0;
- playerHandValueSoft = 0;
- playerCardNumber = 0;
- playerHand = new Array();
- playerHandSuit = new Array();
- playerStart();
- }
- }
- function dealerHit()
- {
- playerCardNumber = playerCardNumber + 1;
- var suit = randSuit();
- var card = randomCard();
- dealerHand[playerCardNumber] = card[0];
- dealerHandSuit[playerCardNumber] = suit;
- dealerHandValueHard = playerHandValueHard + card[1];
- dealerHandValueSoft = playerHandValueSoft + card[2];
- }
- function playerHit()
- {
- playerCardNumber = playerCardNumber + 1;
- var suit = randSuit();
- var card = randomCard();
- playerHand[playerCardNumber] = card[0];
- playerHandSuit[playerCardNumber] = suit;
- playerHandValueHard = playerHandValueHard + card[1];
- playerHandValueSoft = playerHandValueSoft + card[2];
- stillin = bustCheck(playerHandValueHard,1);
- updateHand();
- if(stillin)
- {
- stick();
- }
- }
- function updateHand()
- {
- var b;
- var i;
- for (i in playerHand)
- {
- b = b + ' ' + playerHand[i];
- }
- if (playerHandValueHard != playerHandValueSoft)
- {
- document.getElementById("activePlayerHand").innerHTML = "Player Hand <br />" + b + "<br /> Play Hand value" + playerHandValueHard + "/" + playerHandValueSoft;
- }
- else
- {
- document.getElementById("activePlayerHand").innerHTML = "Player Hand <br />" + b + "<br /> Play Hand value" + playerHandValueHard;
- }
- }
- function bustCheck(x, p)
- {
- if(x>21)
- {
- if(p == 1)
- {
- alert("Over twenty-one!");
- }
- else
- {
- alert("Everybody wins!");
- }
- return false;
- }
- else
- {
- return true;
- }
- }
- function randSuit()
- {
- var suit;
- rand = random(0,3);
- switch(rand){
- case 0:
- suit = "Hearts";
- break;
- case 1:
- suit = "Spades";
- break;
- case 2:
- suit = "Diamonds";
- break;
- case 3:
- suit = "Clubs";
- break;
- default:
- alert("Error!");
- }
- return suit;
- }
- function randomCard()
- {
- var cardArray = new Array();
- var randCard = random(1,13);
- switch(randCard){
- case 1:
- cardArray[0] = "A";
- cardArray[1] = 1;
- cardArray[2] = 11;
- break;
- case 11:
- cardArray[0] = "J";
- cardArray[1] = 10;
- cardArray[2] = 10;
- break;
- case 12:
- cardArray[0] = "Q";
- cardArray[1] = 10;
- cardArray[2] = 10;
- break;
- case 13:
- cardArray[0] = "K";
- cardArray[1] = 10;
- cardArray[2] = 10;
- break;
- default:
- cardArray[0] = randCard;
- cardArray[1] = randCard;
- cardArray[2] = randCard;
- }
- return cardArray;
- }
- function random(x,y)
- {
- return Math.floor(Math.random()* (y-x+1)) + x;
- }
- </script>
- </head>
- <body>
- <div id="Main">
- <p> Welcome to Blackjack. </p>
- <div id="dealerHand"></div>
- <div id="activePlayerHand"> No active players.</div>
- <div id="Controls">
- <input type='button' value='start' onclick='gameStart()'/>
- </div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement