Advertisement
Guest User

Untitled

a guest
May 6th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.86 KB | None | 0 0
  1.  
  2. var deck; //Hela kortleken
  3. var playerCards; //Spelarens kort
  4. var dealerCards; //Dealerns kort
  5. var playerSum = 0; //Spelarens summa
  6. var dealerSum = 0; //Dealerns summa
  7. var hiddenCard; //Dealerns första kort
  8. var balance = 100; //Spelarens "pengar". ---Ska hämtas och sparas till/från databas sedan.
  9. var bett = 10 //Spelarens insatts.
  10. var statusReason; //Anledning till vinst eller förlust.
  11.  
  12. var test; //innehåller test data --- radera sedan
  13.  
  14. function okaInsats() {
  15. if (bett <= 49) {
  16. bett = bett + 5;
  17. document.getElementById('bettLbl').innerHTML = bett.toString() + "$"
  18.  
  19. }
  20. else {
  21. alert("Max insatts är 50!")
  22. }
  23. }
  24. function minskaInsats() {
  25. if (bett <= 10) {
  26. alert("Minsta insatts är 10!")
  27. }
  28. else {
  29. bett = bett - 5;
  30. document.getElementById('bettLbl').innerHTML = bett.toString() + "$";
  31. }
  32. }
  33.  
  34. function ShuffleDeck() //Nollställer kortleken
  35. {
  36. deck = [];
  37. for(var i = 0; i < 52; i++)
  38. {
  39. deck[i] = i+1;
  40. }
  41.  
  42. }
  43.  
  44. function getValue(card) //Omvandlar kortet från position till värde
  45. {
  46. // 0 = Kung, 12 = Dam, 11 = Knäkt
  47. if( card % 13 == 0 || card % 13 == 11 || card %13 == 12)
  48. return 10;
  49. else if (card %13 == 11)
  50. return 11;
  51. else
  52. return card % 13;
  53. }
  54.  
  55. function hit() //Tar ett random kort ur kortleken.
  56. {
  57. // ta ett kort ur deck och ta bort det kortet.
  58. var card;
  59. var n = Math.ceil(Math.random() * deck.length-1);
  60. card = deck[n];
  61. deck.splice(n, 1);
  62. return card;
  63.  
  64. }
  65. function Suit(card) // ej klar
  66. {
  67. //Bestämmer suit
  68. var suitName;
  69. var x = card % 4;
  70. switch (x) {
  71. case 0:
  72. suitName = "Hjärter";
  73. break;
  74. case 1:
  75. suitName = "Klöver";
  76. break;
  77. case 2:
  78. suitName = "Spader";
  79. break;
  80. case 3:
  81. suitName = "Ruter";
  82. }
  83. return suitName;
  84. }
  85.  
  86. function dealerScore() { //Beräknar dealerns totala summa.
  87. dealerSum = 0;
  88. for (var i = 0; i < dealerCards.length; i++) {
  89. dealerSum = dealerSum + getValue(dealerCards[i]);
  90. }
  91. if (dealerSum + 10 <= 21 && dealerCards.indexOf(1) != -1) { //Tillåter ess att agera som 1 eller 11.
  92. dealerSum += 10;
  93. }
  94. return dealerSum;
  95. }
  96.  
  97. function playerScore() { //Beräknar spelarens totala summa.
  98. playerSum = 0;
  99. for (var i = 0; i < playerCards.length; i++)
  100. {
  101. playerSum = playerSum + getValue(playerCards[i]);
  102. }
  103. if (playerSum + 10 <= 21 && playerCards.indexOf(1) != -1) { //Tillåter ess att agera som 1 eller 11.
  104. playerSum += 10;
  105. }
  106. return playerSum;
  107. }
  108.  
  109. function regler(p, d, b) { // Player kort, Dealer kort, Bett
  110.  
  111. // Knapp standar vid slut av spel.
  112. $("#dealKnapp").show();
  113. $("#hitKnapp").hide();
  114. $("#standKnapp").hide();
  115. $("#bettBox").show();
  116. $("#okaKnapp").show();
  117. $("#minskaKnapp").show();
  118.  
  119. if (p >= 22) {
  120. statusReason = "Du blev tjock!"
  121. lose(b, statusReason);
  122. }
  123. else if(d >= 22){
  124. statusReason = "Dealern blev tjock!"
  125. win(b, statusReason);
  126. }
  127. else if (d > p) {
  128. statusReason = "Dealern vann med högt kort!"
  129. lose(b, statusReason);
  130. }
  131. else if (d < p) {
  132. statusReason = "Du vann med högt kort!"
  133. win(b, statusReason);
  134. }
  135. else if (d = p) {
  136. statusReason = "Det blev lika!"
  137. balance = balance + b;
  138. document.getElementById('statusLbl').innerHTML = statusReason;
  139. }
  140. else {
  141. alert("ingen regel triggades -test-");
  142. }
  143.  
  144. }
  145. function win(b,r){ //bett och reason
  146. balance = balance + (b * 2);
  147. document.getElementById('statusLbl').innerHTML = statusReason + "Grattis! Du vann " + (b * 2).toString() + " poäng!";
  148. document.getElementById('testLbl').innerHTML = balance.toString();
  149. }
  150. function lose(b, r) { //bet och reason
  151. balance = balance - b;
  152. document.getElementById('statusLbl').innerHTML = statusReason + " Tyvärr! Du förlorade " + b.toString() + " poäng!";
  153. document.getElementById('testLbl').innerHTML = balance.toString();
  154. }
  155.  
  156.  
  157.  
  158. //////////////////////////
  159. //**********************//
  160. //***SPEL FUNKTIONER****//
  161. //**********************//
  162. /////////////////////////
  163.  
  164. function deal() {
  165. balance = balance - bett;
  166. ShuffleDeck();
  167. document.getElementById('testLbl').innerHTML = balance.toString();
  168.  
  169. //Gömmer knappar ------ hur fan gömms deal knappen? minns inte????
  170. $("#okaKnapp").hide();
  171. $("#minskaKnapp").hide();
  172.  
  173.  
  174. //---------Spelare----------//
  175. playerCards = new Array(); //Skapar en ny "hand"
  176. for (var i = 0; i < 2; i++) { //drar två nya kort då deal endast används för att starta en ny hand
  177. var tempCard = hit();
  178. playerCards.push(getValue(tempCard)); //Sparar kort till handen.
  179. }
  180. playerScore(); //Räkna ut poängen
  181. document.getElementById('player').innerHTML = "Du har korten " + playerCards.toString() + " Till en total av:" + playerSum;
  182. //-------Dealer---------//
  183. dealerCards = new Array();
  184.  
  185. hiddenCard = hit(); //det första kortet dealern får ska vara gömt.
  186. dealerCards.push(getValue(hit())); //Hämtar kort från hit, konverterar till värde, lägger till bland dealerns kort. ----OBS, denna ska läggas till i stand sen för det gömda kortet
  187. dealerScore();
  188. document.getElementById('dealer').innerHTML = "Dealern har ett gömt kort och kort " + dealerCards.toString() + " Till en total av: " + dealerSum;
  189.  
  190. }
  191.  
  192. function playerHit() {
  193. if (playerCards.length >= 5) { // Om spelaren tagit 5 kort eller mer kan hen inte ta fler kort.
  194. $("#dealKnapp").toggle();
  195. $("#hitKnapp").toggle();
  196. $("#standKnapp").toggle();
  197. $("#bettBox").toggle();
  198. $("#okaKnapp").toggle();
  199. $("#minskaKnapp").toggle();
  200. playerStand();
  201. alert("Du har dragit max antal kort."); // Fixa en label istället?--------------------
  202. }
  203. else {
  204. playerCards.push(getValue(hit())) //Hämtar kort från hit, konverterar till värde, lägger till bland spelarens kort
  205. playerScore();
  206. document.getElementById('testLbl').innerHTML = balance.toString(); // räknar ut ny score.
  207. document.getElementById('player').innerHTML = "Du har korten " + playerCards.toString() + " Till en total av:" + playerSum;
  208. if(playerSum > 12 && playerCards.indexOf('1') != null)
  209. {
  210. playerCards[playerCards.indexOf('1')] = 11;
  211. }
  212. if (playerSum > 22) {
  213. balance = balance - bett;
  214. $("#dealKnapp").show();
  215. $("#hitKnapp").hide();
  216. $("#standKnapp").hide();
  217. $("#okaKnapp").show();
  218. $("#minskaKnapp").show();
  219. statusReason = "Du blev tjock!"
  220. lose(bett, statusReason);
  221. }
  222.  
  223. }
  224. }
  225.  
  226. function playerStand() {
  227. //Dealer drar kort
  228. dealerCards.push(getValue(hiddenCard)); //Vänder det dolda kortet.
  229. dealerScore(); //För att räkna med det gömda kortet i om dealerSum <= 16
  230. while(dealerCards.length <5 && dealerSum <= 16){ //----- VARFÖR KAN DEALER IBLAND TA KORT FAST ATT HEN ÄR PÅ 17?---//
  231. dealerCards.push(getValue(hit()));
  232. dealerScore();
  233. }
  234. document.getElementById('dealer').innerHTML = "Dealern har ett korten " + dealerCards.toString() + " Till en total av: " + dealerSum;
  235.  
  236. $("#dealKnapp").show();
  237. $("#hitKnapp").hide();
  238. $("#standKnapp").hide();
  239. $("#bettBox").show();
  240. $("#okaKnapp").show();
  241. $("#minskaKnapp").show();
  242. regler(playerSum, dealerSum, bett);
  243.  
  244. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement