Guest User

Untitled

a guest
Mar 24th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.76 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <link rel="stylesheet" href="style.css">
  6.  
  7. </head>
  8.  
  9. <body>
  10.  
  11. <h1>Blackjack game</h1>
  12. <h6>By Yone Moreno</h6>
  13. <br>
  14. <p id='text-area'>Welcome to BlackJack!!!!!</p>
  15. <button id='new-game-button'>Start a New Game!!!</button>
  16. <button id='hit-button'>Hit!</button>
  17. <button id='stay-button'>Stay...</button>
  18.  
  19. <script src="script.js"></script>
  20. </body>
  21.  
  22. </html>
  23.  
  24. // Blackjack
  25.  
  26.  
  27. let textArea = document.getElementById('text-area');
  28. let newGameButton = document.getElementById('new-game-button');
  29. let hitButton = document.getElementById('hit-button');
  30. let stayButton = document.getElementById('stay-button');
  31.  
  32. let gameStarted = false,
  33. gameOver = false,
  34. playerWon = false,
  35. dealerCards = [],
  36. playerCards = [],
  37. dealerScore = 0,
  38. playerScore = 0,
  39. deck = [];
  40.  
  41. hitButton.style.display = 'none';
  42. stayButton.style.display = 'none';
  43. showStatus();
  44.  
  45.  
  46. newGameButton.addEventListener('click', function() {
  47.  
  48. gameStarted = true;
  49. gameOver = false;
  50. playerWon = false;
  51.  
  52. deck = createDeck();
  53. shuffleDeck(deck);
  54. dealerCards = [getNextCard(), getNextCard()];
  55. playerCards = [getNextCard(), getNextCard()];
  56.  
  57.  
  58. newGameButton.style.display = 'none';
  59. hitButton.style.display = 'inline';
  60. stayButton.style.display = 'inline';
  61. showStatus();
  62. })
  63.  
  64. let suits = ['Hearts', 'Clubs', 'Diamonds', 'Spades'];
  65. let values = ['As', 'King', 'Queen', 'Jack',
  66. 'Ten', 'Nine', 'Eight', 'Seven', 'Six',
  67. 'Five', 'Four', 'Three', 'Two'
  68. ]
  69.  
  70.  
  71.  
  72. function createDeck() {
  73. let deck = [];
  74. for (suitIndex = 0; suitIndex < suits.length; suitIndex++) {
  75. for (let valueIndex = 0; valueIndex < values.length; valueIndex++) {
  76. let card = {
  77. suit: suits[suitIndex],
  78. value: values[valueIndex]
  79. };
  80. deck.push(card);
  81. }
  82. }
  83. return deck;
  84. }
  85.  
  86.  
  87.  
  88. function getNextCard() {
  89. return deck.shift();
  90. }
  91.  
  92. function getCardString(card) {
  93. return card.value + ' of ' + card.suit;
  94. }
  95.  
  96.  
  97. function showStatus() {
  98. if (!gameStarted) {
  99. textArea.innerText = 'Welcome to BlackJack!!!!!!!!!!';
  100. return;
  101. }
  102. for (let i = 0; i < deck.length; i++) {
  103. textArea.innerText += 'n' + getCardString(deck[i]);
  104. }
  105.  
  106. }
  107.  
  108. function shuffleDeck(deck) {
  109. for (let i = 0; i < deck.length; i++) {
  110. let swapIndex = Math.trunc(Math.random() * deck.length);
  111. let randomCard = deck[swapIndex];
  112. let currentCard = deck[i];
  113. deck[swapIndex] = currentCard;
  114. deck[i] = randomCard;
  115. }
  116. }
  117.  
  118. class Deck{
  119. createDeck() {
  120. let deck = [];
  121. for (let suitIndex = 0; suitIndex < suits.length; suitIndex++) {
  122. for (let valueIndex = 0; valueIndex < values.length; valueIndex++) {
  123. let card = {
  124. suit: suits[suitIndex],
  125. value: values[valueIndex]
  126. };
  127. deck.push(card);
  128. }
  129. }
  130. this.deck = deck;
  131. return deck;
  132. }
  133.  
  134. shuffleDeck() {
  135. for (let i = 0; i < deck.length; i++) {
  136. let swapIndex = Math.trunc(Math.random() * deck.length);
  137. let randomCard = deck[swapIndex];
  138. let currentCard = deck[i];
  139. deck[swapIndex] = currentCard;
  140. deck[i] = randomCard;
  141. }
  142. }
  143. }
  144.  
  145. // Blackjack
  146.  
  147.  
  148. let textArea = document.getElementById('text-area');
  149. let newGameButton = document.getElementById('new-game-button');
  150. let hitButton = document.getElementById('hit-button');
  151. let stayButton = document.getElementById('stay-button');
  152.  
  153. let gameStarted = false,
  154. gameOver = false,
  155. playerWon = false,
  156. dealerCards = [],
  157. playerCards = [],
  158. dealerScore = 0,
  159. playerScore = 0,
  160. deck = [];
  161.  
  162. hitButton.style.display = 'none';
  163. stayButton.style.display = 'none';
  164. showStatus();
  165. let myClassDeck = new Deck();
  166.  
  167.  
  168. newGameButton.addEventListener('click', function () {
  169.  
  170. gameStarted = true;
  171. gameOver = false;
  172. playerWon = false;
  173.  
  174. myClassDeck.createDeck();
  175. myClassDeck.shuffleDeck(myClassDeck);
  176. dealerCards = [getNextCard(), getNextCard()];
  177. playerCards = [getNextCard(), getNextCard()];
  178.  
  179.  
  180. newGameButton.style.display = 'none';
  181. hitButton.style.display = 'inline';
  182. stayButton.style.display = 'inline';
  183. showStatus();
  184. })
  185.  
  186. let suits = ['Hearts', 'Clubs', 'Diamonds', 'Spades'];
  187. let values = ['As', 'King', 'Queen', 'Jack',
  188. 'Ten', 'Nine', 'Eight', 'Seven', 'Six',
  189. 'Five', 'Four', 'Three', 'Two'
  190. ]
  191.  
  192.  
  193. function getNextCard() {
  194. let nextCard = myClassDeck.deck.shift();
  195. console.log('card given is:', nextCard);
  196. return nextCard;
  197. }
  198.  
  199. function getCardString(card) {
  200. return card.value + ' of ' + card.suit;
  201. }
  202.  
  203.  
  204. function showStatus() {
  205. if (!gameStarted) {
  206. textArea.innerText = 'Welcome to BlackJack!!!!!!!!!!';
  207. return;
  208. }
  209. for (let i = 0; i < myClassDeck.deck.length; i++) {
  210. textArea.innerText += 'n' + getCardString(myClassDeck.deck[i]);
  211. }
  212.  
  213. }
Add Comment
Please, Sign In to add comment