Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var deck; //Hela kortleken
- var playerCards; //Spelarens kort
- var dealerCards; //Dealerns kort
- var playerSum = 0; //Spelarens summa
- var dealerSum = 0; //Dealerns summa
- var hiddenCard; //Dealerns första kort
- var balance = 100; //Spelarens "pengar". ---Ska hämtas och sparas till/från databas sedan.
- var bett = 10 //Spelarens insatts.
- var statusReason; //Anledning till vinst eller förlust.
- var test; //innehåller test data --- radera sedan
- function okaInsats() {
- if (bett <= 49) {
- bett = bett + 5;
- document.getElementById('bettLbl').innerHTML = bett.toString() + "$"
- }
- else {
- alert("Max insatts är 50!")
- }
- }
- function minskaInsats() {
- if (bett <= 10) {
- alert("Minsta insatts är 10!")
- }
- else {
- bett = bett - 5;
- document.getElementById('bettLbl').innerHTML = bett.toString() + "$";
- }
- }
- function ShuffleDeck() //Nollställer kortleken
- {
- deck = [];
- for(var i = 0; i < 52; i++)
- {
- deck[i] = i+1;
- }
- }
- function getValue(card) //Omvandlar kortet från position till värde
- {
- // 0 = Kung, 12 = Dam, 11 = Knäkt
- if( card % 13 == 0 || card % 13 == 11 || card %13 == 12)
- return 10;
- else if (card %13 == 11)
- return 11;
- else
- return card % 13;
- }
- function hit() //Tar ett random kort ur kortleken.
- {
- // ta ett kort ur deck och ta bort det kortet.
- var card;
- var n = Math.ceil(Math.random() * deck.length-1);
- card = deck[n];
- deck.splice(n, 1);
- return card;
- }
- function Suit(card) // ej klar
- {
- //Bestämmer suit
- var suitName;
- var x = card % 4;
- switch (x) {
- case 0:
- suitName = "Hjärter";
- break;
- case 1:
- suitName = "Klöver";
- break;
- case 2:
- suitName = "Spader";
- break;
- case 3:
- suitName = "Ruter";
- }
- return suitName;
- }
- function dealerScore() { //Beräknar dealerns totala summa.
- dealerSum = 0;
- for (var i = 0; i < dealerCards.length; i++) {
- dealerSum = dealerSum + getValue(dealerCards[i]);
- }
- if (dealerSum + 10 <= 21 && dealerCards.indexOf(1) != -1) { //Tillåter ess att agera som 1 eller 11.
- dealerSum += 10;
- }
- return dealerSum;
- }
- function playerScore() { //Beräknar spelarens totala summa.
- playerSum = 0;
- for (var i = 0; i < playerCards.length; i++)
- {
- playerSum = playerSum + getValue(playerCards[i]);
- }
- if (playerSum + 10 <= 21 && playerCards.indexOf(1) != -1) { //Tillåter ess att agera som 1 eller 11.
- playerSum += 10;
- }
- return playerSum;
- }
- function regler(p, d, b) { // Player kort, Dealer kort, Bett
- // Knapp standar vid slut av spel.
- $("#dealKnapp").show();
- $("#hitKnapp").hide();
- $("#standKnapp").hide();
- $("#bettBox").show();
- $("#okaKnapp").show();
- $("#minskaKnapp").show();
- if (p >= 22) {
- statusReason = "Du blev tjock!"
- lose(b, statusReason);
- }
- else if(d >= 22){
- statusReason = "Dealern blev tjock!"
- win(b, statusReason);
- }
- else if (d > p) {
- statusReason = "Dealern vann med högt kort!"
- lose(b, statusReason);
- }
- else if (d < p) {
- statusReason = "Du vann med högt kort!"
- win(b, statusReason);
- }
- else if (d = p) {
- statusReason = "Det blev lika!"
- balance = balance + b;
- document.getElementById('statusLbl').innerHTML = statusReason;
- }
- else {
- alert("ingen regel triggades -test-");
- }
- }
- function win(b,r){ //bett och reason
- balance = balance + (b * 2);
- document.getElementById('statusLbl').innerHTML = statusReason + "Grattis! Du vann " + (b * 2).toString() + " poäng!";
- document.getElementById('testLbl').innerHTML = balance.toString();
- }
- function lose(b, r) { //bet och reason
- balance = balance - b;
- document.getElementById('statusLbl').innerHTML = statusReason + " Tyvärr! Du förlorade " + b.toString() + " poäng!";
- document.getElementById('testLbl').innerHTML = balance.toString();
- }
- //////////////////////////
- //**********************//
- //***SPEL FUNKTIONER****//
- //**********************//
- /////////////////////////
- function deal() {
- balance = balance - bett;
- ShuffleDeck();
- document.getElementById('testLbl').innerHTML = balance.toString();
- //Gömmer knappar ------ hur fan gömms deal knappen? minns inte????
- $("#okaKnapp").hide();
- $("#minskaKnapp").hide();
- //---------Spelare----------//
- playerCards = new Array(); //Skapar en ny "hand"
- for (var i = 0; i < 2; i++) { //drar två nya kort då deal endast används för att starta en ny hand
- var tempCard = hit();
- playerCards.push(getValue(tempCard)); //Sparar kort till handen.
- }
- playerScore(); //Räkna ut poängen
- document.getElementById('player').innerHTML = "Du har korten " + playerCards.toString() + " Till en total av:" + playerSum;
- //-------Dealer---------//
- dealerCards = new Array();
- hiddenCard = hit(); //det första kortet dealern får ska vara gömt.
- 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
- dealerScore();
- document.getElementById('dealer').innerHTML = "Dealern har ett gömt kort och kort " + dealerCards.toString() + " Till en total av: " + dealerSum;
- }
- function playerHit() {
- if (playerCards.length >= 5) { // Om spelaren tagit 5 kort eller mer kan hen inte ta fler kort.
- $("#dealKnapp").toggle();
- $("#hitKnapp").toggle();
- $("#standKnapp").toggle();
- $("#bettBox").toggle();
- $("#okaKnapp").toggle();
- $("#minskaKnapp").toggle();
- playerStand();
- alert("Du har dragit max antal kort."); // Fixa en label istället?--------------------
- }
- else {
- playerCards.push(getValue(hit())) //Hämtar kort från hit, konverterar till värde, lägger till bland spelarens kort
- playerScore();
- document.getElementById('testLbl').innerHTML = balance.toString(); // räknar ut ny score.
- document.getElementById('player').innerHTML = "Du har korten " + playerCards.toString() + " Till en total av:" + playerSum;
- if(playerSum > 12 && playerCards.indexOf('1') != null)
- {
- playerCards[playerCards.indexOf('1')] = 11;
- }
- if (playerSum > 22) {
- balance = balance - bett;
- $("#dealKnapp").show();
- $("#hitKnapp").hide();
- $("#standKnapp").hide();
- $("#okaKnapp").show();
- $("#minskaKnapp").show();
- statusReason = "Du blev tjock!"
- lose(bett, statusReason);
- }
- }
- }
- function playerStand() {
- //Dealer drar kort
- dealerCards.push(getValue(hiddenCard)); //Vänder det dolda kortet.
- dealerScore(); //För att räkna med det gömda kortet i om dealerSum <= 16
- while(dealerCards.length <5 && dealerSum <= 16){ //----- VARFÖR KAN DEALER IBLAND TA KORT FAST ATT HEN ÄR PÅ 17?---//
- dealerCards.push(getValue(hit()));
- dealerScore();
- }
- document.getElementById('dealer').innerHTML = "Dealern har ett korten " + dealerCards.toString() + " Till en total av: " + dealerSum;
- $("#dealKnapp").show();
- $("#hitKnapp").hide();
- $("#standKnapp").hide();
- $("#bettBox").show();
- $("#okaKnapp").show();
- $("#minskaKnapp").show();
- regler(playerSum, dealerSum, bett);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement