{"id":103,"date":"2026-02-27T17:17:17","date_gmt":"2026-02-27T14:17:17","guid":{"rendered":"https:\/\/atakan.online\/?page_id=103"},"modified":"2026-02-27T17:31:52","modified_gmt":"2026-02-27T14:31:52","slug":"blackjack","status":"publish","type":"page","link":"https:\/\/atakan.online\/?page_id=103","title":{"rendered":"Blackjack"},"content":{"rendered":"\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\">\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/atakan.online\"><img loading=\"lazy\" decoding=\"async\" width=\"211\" height=\"239\" src=\"https:\/\/atakan.online\/wp-content\/uploads\/2026\/02\/images.jpeg\" alt=\"\" class=\"wp-image-70\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:75%\">\n<h2 class=\"wp-block-heading\">\u00c7apulcu<\/h2>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Ya paran ya can\u0131n ko\u00e7um. Ani hareket yapma, de\u015feriz. <\/summary>\n<p><\/p>\n<\/details>\n<\/div>\n<\/div>\n\n\n\n<div id=\"blackjack-wrapper\" style=\"font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; background-color: #2d6a4f; padding: 20px; border-radius: 10px; color: white; text-align: center; box-shadow: 0 4px 8px rgba(0,0,0,0.2);\">\n    <h2 style=\"margin-top: 0; color: #fff;\">Blackjack<\/h2>\n    \n    <div class=\"game-area\">\n        <h3>Krupiye: <span id=\"dealer-score\">?<\/span><\/h3>\n        <div id=\"dealer-cards\" style=\"min-height: 100px; margin-bottom: 20px; display: flex; justify-content: center; gap: 10px;\"><\/div>\n\n        <h3>Sen: <span id=\"player-score\">0<\/span><\/h3>\n        <div id=\"player-cards\" style=\"min-height: 100px; margin-bottom: 20px; display: flex; justify-content: center; gap: 10px;\"><\/div>\n    <\/div>\n\n    <div id=\"results\" style=\"font-size: 1.2em; font-weight: bold; height: 30px; margin-bottom: 15px;\"><\/div>\n\n    <div class=\"controls\" style=\"display: flex; justify-content: center; gap: 10px;\">\n        <button id=\"hit-btn\" style=\"padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #e9c46a; border: none; border-radius: 5px; font-weight: bold; color: #333;\">Kart \u00c7ek<\/button>\n        <button id=\"stand-btn\" style=\"padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #e76f51; border: none; border-radius: 5px; font-weight: bold; color: white;\">Kal<\/button>\n        <button id=\"restart-btn\" style=\"padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #264653; border: none; border-radius: 5px; font-weight: bold; color: white; display: none;\">Yeni Oyun<\/button>\n    <\/div>\n<\/div>\n\n<style>\n    .bj-card {\n        width: 60px;\n        height: 90px;\n        background-color: white;\n        color: black;\n        border-radius: 5px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        font-size: 20px;\n        font-weight: bold;\n        box-shadow: 2px 2px 5px rgba(0,0,0,0.3);\n    }\n    .bj-card.red { color: #d62828; }\n    .bj-card.hidden { background-color: #1d3557; color: transparent; background-image: repeating-linear-gradient(45deg, #1d3557 25%, #457b9d 25%, #457b9d 50%, #1d3557 50%, #1d3557 75%, #457b9d 75%, #457b9d 100%); background-size: 20px 20px; }\n<\/style>\n\n<script>\n    let dealerSum = 0;\n    let playerSum = 0;\n    let dealerAces = 0;\n    let playerAces = 0;\n    let hiddenCard;\n    let deck;\n    let canHit = true;\n\n    function buildDeck() {\n        let values = [\"A\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"J\", \"Q\", \"K\"];\n        let types = [\"C\", \"D\", \"H\", \"S\"]; \/\/ Clubs, Diamonds, Hearts, Spades\n        deck = [];\n        for (let i = 0; i < types.length; i++) {\n            for (let j = 0; j < values.length; j++) {\n                deck.push(values[j] + \"-\" + types[i]);\n            }\n        }\n    }\n\n    function shuffleDeck() {\n        for (let i = 0; i < deck.length; i++) {\n            let j = Math.floor(Math.random() * deck.length);\n            let temp = deck[i];\n            deck[i] = deck[j];\n            deck[j] = temp;\n        }\n    }\n\n    function startGame() {\n        dealerSum = 0; playerSum = 0; dealerAces = 0; playerAces = 0;\n        canHit = true;\n        document.getElementById(\"dealer-cards\").innerHTML = \"\";\n        document.getElementById(\"player-cards\").innerHTML = \"\";\n        document.getElementById(\"results\").innerText = \"\";\n        document.getElementById(\"restart-btn\").style.display = \"none\";\n        document.getElementById(\"hit-btn\").disabled = false;\n        document.getElementById(\"stand-btn\").disabled = false;\n\n        buildDeck();\n        shuffleDeck();\n\n        \/\/ Dealer receives hidden card\n        hiddenCard = deck.pop();\n        dealerSum += getValue(hiddenCard);\n        dealerAces += checkAce(hiddenCard);\n        \n        let hiddenCardImg = document.createElement(\"div\");\n        hiddenCardImg.classList.add(\"bj-card\", \"hidden\");\n        hiddenCardImg.id = \"hidden-card\";\n        document.getElementById(\"dealer-cards\").append(hiddenCardImg);\n\n        \/\/ Dealer receives shown card\n        let dealerCard = deck.pop();\n        dealerSum += getValue(dealerCard);\n        dealerAces += checkAce(dealerCard);\n        document.getElementById(\"dealer-cards\").append(createCardElement(dealerCard));\n\n        \/\/ Player receives 2 cards\n        for (let i = 0; i < 2; i++) {\n            let playerCard = deck.pop();\n            playerSum += getValue(playerCard);\n            playerAces += checkAce(playerCard);\n            document.getElementById(\"player-cards\").append(createCardElement(playerCard));\n        }\n\n        document.getElementById(\"player-score\").innerText = playerSum;\n        \n        \/\/ Immediate Blackjack check\n        if (playerSum === 21) {\n            endGame();\n        }\n    }\n\n    function createCardElement(cardString) {\n        let data = cardString.split(\"-\");\n        let value = data[0];\n        let suit = data[1];\n        let cardDiv = document.createElement(\"div\");\n        cardDiv.classList.add(\"bj-card\");\n        \n        let suitSymbol = \"\";\n        if (suit === \"H\") { suitSymbol = \"\u2665\"; cardDiv.classList.add(\"red\"); }\n        else if (suit === \"D\") { suitSymbol = \"\u2666\"; cardDiv.classList.add(\"red\"); }\n        else if (suit === \"C\") { suitSymbol = \"\u2663\"; }\n        else if (suit === \"S\") { suitSymbol = \"\u2660\"; }\n\n        cardDiv.innerText = value + \" \" + suitSymbol;\n        return cardDiv;\n    }\n\n    function getValue(card) {\n        let data = card.split(\"-\");\n        let value = data[0];\n        if (isNaN(value)) {\n            if (value === \"A\") return 11;\n            return 10;\n        }\n        return parseInt(value);\n    }\n\n    function checkAce(card) {\n        if (card[0] === \"A\") return 1;\n        return 0;\n    }\n\n    function reduceAce(playerSum, playerAces) {\n        while (playerSum > 21 && playerAces > 0) {\n            playerSum -= 10;\n            playerAces -= 1;\n        }\n        return playerSum;\n    }\n\n    document.getElementById(\"hit-btn\").addEventListener(\"click\", function() {\n        if (!canHit) return;\n        let card = deck.pop();\n        playerSum += getValue(card);\n        playerAces += checkAce(card);\n        document.getElementById(\"player-cards\").append(createCardElement(card));\n\n        if (reduceAce(playerSum, playerAces) > 21) {\n            canHit = false;\n            endGame();\n        }\n        document.getElementById(\"player-score\").innerText = reduceAce(playerSum, playerAces);\n    });\n\n    document.getElementById(\"stand-btn\").addEventListener(\"click\", function() {\n        canHit = false;\n        endGame();\n    });\n\n    function endGame() {\n        document.getElementById(\"hit-btn\").disabled = true;\n        document.getElementById(\"stand-btn\").disabled = true;\n\n        playerSum = reduceAce(playerSum, playerAces);\n\n        \/\/ Dealer plays if player hasn't busted\n        if (playerSum <= 21) {\n            while (dealerSum < 17) {\n                let card = deck.pop();\n                dealerSum += getValue(card);\n                dealerAces += checkAce(card);\n                document.getElementById(\"dealer-cards\").append(createCardElement(card));\n            }\n        }\n        \n        dealerSum = reduceAce(dealerSum, dealerAces);\n\n        \/\/ Reveal hidden card\n        document.getElementById(\"hidden-card\").classList.remove(\"hidden\");\n        let hiddenData = hiddenCard.split(\"-\");\n        let hSuit = hiddenData[1] === \"H\" ? \"\u2665\" : hiddenData[1] === \"D\" ? \"\u2666\" : hiddenData[1] === \"C\" ? \"\u2663\" : \"\u2660\";\n        document.getElementById(\"hidden-card\").innerText = hiddenData[0] + \" \" + hSuit;\n        if (hiddenData[1] === \"H\" || hiddenData[1] === \"D\") document.getElementById(\"hidden-card\").classList.add(\"red\");\n\n        document.getElementById(\"dealer-score\").innerText = dealerSum;\n\n        let message = \"\";\n        if (playerSum > 21) {\n            message = \"21'i ge\u00e7tin, kaybettin!\";\n        } else if (dealerSum > 21) {\n            message = \"Krupiye 21'i ge\u00e7ti, kazand\u0131n!\";\n        } else if (playerSum === dealerSum) {\n            message = \"Berabere!\";\n        } else if (playerSum > dealerSum) {\n            message = \"Kazand\u0131n!\";\n        } else {\n            message = \"Kaybettin!\";\n        }\n\n        document.getElementById(\"results\").innerText = message;\n        document.getElementById(\"restart-btn\").style.display = \"inline-block\";\n    }\n\n    document.getElementById(\"restart-btn\").addEventListener(\"click\", startGame);\n\n    window.onload = startGame;\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u00c7apulcu Blackjack Krupiye: ? Sen: 0 Kart \u00c7ek Kal Yeni Oyun<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-103","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/pages\/103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atakan.online\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=103"}],"version-history":[{"count":5,"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/pages\/103\/revisions"}],"predecessor-version":[{"id":112,"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/pages\/103\/revisions\/112"}],"wp:attachment":[{"href":"https:\/\/atakan.online\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}