{"id":165,"date":"2026-03-01T01:43:34","date_gmt":"2026-02-28T22:43:34","guid":{"rendered":"https:\/\/atakan.online\/?page_id=165"},"modified":"2026-03-02T16:42:22","modified_gmt":"2026-03-02T13:42:22","slug":"chanel-rolex","status":"publish","type":"page","link":"https:\/\/atakan.online\/?page_id=165","title":{"rendered":"Amiral Batt\u0131"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Amiral Batt\u0131 &#8211; Hash Modu<\/title>\n    <style>\n        body {\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n            background-color: #2c3e50;\n            color: #ecf0f1;\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            min-height: 100vh;\n            margin: 0;\n        }\n        h1 { margin-bottom: 20px; }\n        .container {\n            background-color: #34495e;\n            padding: 30px;\n            border-radius: 10px;\n            box-shadow: 0 4px 15px rgba(0,0,0,0.3);\n            text-align: center;\n            max-width: 400px;\n            width: 100%;\n        }\n        button {\n            background-color: #3498db;\n            color: white;\n            border: none;\n            padding: 10px 20px;\n            margin: 10px;\n            border-radius: 5px;\n            cursor: pointer;\n            font-size: 16px;\n            transition: 0.3s;\n        }\n        button:hover { background-color: #2980b9; }\n        input[type=\"text\"] {\n            width: 80%;\n            padding: 10px;\n            margin: 10px 0;\n            border-radius: 5px;\n            border: none;\n            font-size: 16px;\n            text-align: center;\n        }\n        .grid {\n            display: grid;\n            grid-template-columns: repeat(9, 30px);\n            gap: 2px;\n            margin: 20px auto;\n            justify-content: center;\n        }\n        .cell {\n            width: 30px;\n            height: 30px;\n            background-color: #7f8c8d;\n            border-radius: 3px;\n            cursor: pointer;\n            transition: 0.2s;\n        }\n        .cell:hover { background-color: #95a5a6; }\n        .cell.ship { background-color: #2ecc71; } \/* Yerle\u015ftirilen gemi *\/\n        .cell.hit { background-color: #e74c3c; cursor: default; } \/* Vurulan gemi *\/\n        .cell.miss { background-color: #bdc3c7; cursor: default; } \/* Bo\u015f at\u0131\u015f *\/\n        \n        .hidden { display: none; }\n        .hash-box {\n            background-color: #1abc9c;\n            padding: 15px;\n            border-radius: 5px;\n            margin-top: 15px;\n            word-break: break-all;\n            font-family: monospace;\n            font-size: 18px;\n            font-weight: bold;\n        }\n        .info { margin-bottom: 10px; font-weight: bold; }\n    <\/style>\n<\/head>\n<body>\n\n    <h1>\u2693 Amiral Batt\u0131 \u2693<\/h1>\n\n    <div id=\"menuScreen\" class=\"container\">\n        <p>Nas\u0131l oynamak istersin?<\/p>\n        <button onclick=\"showScreen('placementScreen'); initPlacement()\">Gemileri Yerle\u015ftir<\/button>\n        <button onclick=\"showScreen('hashEnterScreen')\">Hash Gir<\/button>\n    <\/div>\n\n    <div id=\"placementScreen\" class=\"container hidden\">\n        <h2>Gemilerini Yerle\u015ftir<\/h2>\n        <div class=\"info\">Kalan Gemi Par\u00e7as\u0131: <span id=\"shipsLeft\">15<\/span><\/div>\n        <div id=\"placementGrid\" class=\"grid\"><\/div>\n        <button id=\"finishBtn\" onclick=\"generateHash()\" disabled>Tamam<\/button>\n        <button onclick=\"showScreen('menuScreen')\">Geri<\/button>\n        \n        <div id=\"hashResult\" class=\"hidden\">\n            <p>Bu kodu kopyalay\u0131p arkada\u015f\u0131na g\u00f6nder:<\/p>\n            <div id=\"generatedHash\" class=\"hash-box\"><\/div>\n        <\/div>\n    <\/div>\n\n    <div id=\"hashEnterScreen\" class=\"container hidden\">\n        <h2>Sava\u015fa Kat\u0131l<\/h2>\n        <p>Arkada\u015f\u0131ndan ald\u0131\u011f\u0131n \u015fifreyi gir:<\/p>\n        <input type=\"text\" id=\"hashInput\" placeholder=\"\u00d6rn: A2F00B...\">\n        <br>\n        <button onclick=\"startPlayMode()\">Oyuna Ba\u015fla<\/button>\n        <button onclick=\"showScreen('menuScreen')\">Geri<\/button>\n    <\/div>\n\n    <div id=\"playScreen\" class=\"container hidden\">\n        <h2>D\u00fc\u015fman Sular\u0131ndas\u0131n!<\/h2>\n        <div class=\"info\">Tahmin Say\u0131s\u0131: <span id=\"guessCount\">0<\/span><\/div>\n        <div class=\"info\">Vurulan Hedef: <span id=\"hitCount\">0<\/span> \/ <span id=\"totalTargets\">0<\/span><\/div>\n        <div id=\"playGrid\" class=\"grid\"><\/div>\n        <button onclick=\"location.reload()\">Ana Men\u00fc<\/button>\n    <\/div>\n\n    <script>\n        const GRID_SIZE = 9;\n        const TOTAL_CELLS = 81;\n        const MAX_SHIPS = 15;\n        \n        let board = Array(TOTAL_CELLS).fill(0);\n        let placedShips = 0;\n        \n        let enemyBoard = [];\n        let totalEnemyTargets = 0;\n        let hits = 0;\n        let guesses = 0;\n\n        function showScreen(screenId) {\n            document.querySelectorAll('.container').forEach(el => el.classList.add('hidden'));\n            document.getElementById(screenId).classList.remove('hidden');\n        }\n\n        \/\/ --- YERLE\u015eT\u0130RME MODU ---\n        function initPlacement() {\n            board = Array(TOTAL_CELLS).fill(0);\n            placedShips = 0;\n            document.getElementById('shipsLeft').innerText = MAX_SHIPS;\n            document.getElementById('finishBtn').disabled = true;\n            document.getElementById('hashResult').classList.add('hidden');\n            \n            const grid = document.getElementById('placementGrid');\n            grid.innerHTML = '';\n            \n            for (let i = 0; i < TOTAL_CELLS; i++) {\n                let cell = document.createElement('div');\n                cell.className = 'cell';\n                cell.onclick = () => toggleShip(i, cell);\n                grid.appendChild(cell);\n            }\n        }\n\n        function toggleShip(index, cellElement) {\n            if (board[index] === 0) {\n                if (placedShips >= MAX_SHIPS) return; \/\/ S\u0131n\u0131r\u0131 a\u015fma\n                board[index] = 1;\n                placedShips++;\n                cellElement.classList.add('ship');\n            } else {\n                board[index] = 0;\n                placedShips--;\n                cellElement.classList.remove('ship');\n            }\n            \n            document.getElementById('shipsLeft').innerText = MAX_SHIPS - placedShips;\n            document.getElementById('finishBtn').disabled = (placedShips !== MAX_SHIPS);\n        }\n\n        \/\/ Tahtay\u0131 81 bitlik binary'den Hex'e \u00e7evirme (\u015eifreleme)\n        function generateHash() {\n            let binaryStr = board.join('');\n            binaryStr += '000'; \/\/ 84 bite tamamlamak i\u00e7in padding (4'e tam b\u00f6l\u00fcnmeli)\n            let hexHash = '';\n            for (let i = 0; i < binaryStr.length; i += 4) {\n                hexHash += parseInt(binaryStr.substr(i, 4), 2).toString(16).toUpperCase();\n            }\n            \n            document.getElementById('generatedHash').innerText = hexHash;\n            document.getElementById('hashResult').classList.remove('hidden');\n            document.getElementById('finishBtn').style.display = 'none';\n        }\n\n        \/\/ --- OYUN MODU ---\n        function startPlayMode() {\n            let hash = document.getElementById('hashInput').value.trim();\n            if(!hash || hash.length !== 21) {\n                alert(\"Ge\u00e7ersiz hash! L\u00fctfen 21 karakterlik do\u011fru bir \u015fifre girin.\");\n                return;\n            }\n\n            \/\/ Hex'i tekrar binary tahtaya \u00e7evirme (De\u015fifre)\n            let binaryStr = '';\n            for (let i = 0; i < hash.length; i++) {\n                binaryStr += parseInt(hash[i], 16).toString(2).padStart(4, '0');\n            }\n            enemyBoard = binaryStr.substr(0, 81).split('').map(Number);\n            totalEnemyTargets = enemyBoard.filter(val => val === 1).length;\n            \n            if(totalEnemyTargets === 0) {\n                alert(\"Bozuk bir hash girdiniz, l\u00fctfen tekrar deneyin.\");\n                return;\n            }\n\n            hits = 0;\n            guesses = 0;\n            updatePlayStats();\n            \n            showScreen('playScreen');\n            \n            const grid = document.getElementById('playGrid');\n            grid.innerHTML = '';\n            \n            for (let i = 0; i < TOTAL_CELLS; i++) {\n                let cell = document.createElement('div');\n                cell.className = 'cell';\n                cell.onclick = () => makeGuess(i, cell);\n                grid.appendChild(cell);\n            }\n        }\n\n        function makeGuess(index, cellElement) {\n            if (cellElement.classList.contains('hit') || cellElement.classList.contains('miss')) return;\n\n            guesses++;\n            if (enemyBoard[index] === 1) {\n                cellElement.classList.add('hit');\n                hits++;\n            } else {\n                cellElement.classList.add('miss');\n            }\n            \n            updatePlayStats();\n\n            if (hits === totalEnemyTargets) {\n                setTimeout(() => {\n                    alert(`Tebrikler! D\u00fc\u015fman\u0131n t\u00fcm gemilerini yok ettin.\\nToplam Tahmin Say\u0131n: ${guesses}`);\n                }, 100);\n            }\n        }\n\n        function updatePlayStats() {\n            document.getElementById('guessCount').innerText = guesses;\n            document.getElementById('hitCount').innerText = hits;\n            document.getElementById('totalTargets').innerText = totalEnemyTargets;\n        }\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Amiral Batt\u0131 &#8211; Hash Modu \u2693 Amiral Batt\u0131 \u2693 Nas\u0131l oynamak istersin? Gemileri Yerle\u015ftir Hash Gir Gemilerini Yerle\u015ftir Kalan Gemi Par\u00e7as\u0131: 15 Tamam Geri Bu kodu kopyalay\u0131p arkada\u015f\u0131na g\u00f6nder: Sava\u015fa Kat\u0131l Arkada\u015f\u0131ndan ald\u0131\u011f\u0131n \u015fifreyi gir: Oyuna Ba\u015fla Geri D\u00fc\u015fman Sular\u0131ndas\u0131n! Tahmin Say\u0131s\u0131: 0 Vurulan Hedef: 0 \/ 0 Ana Men\u00fc<\/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-165","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/pages\/165","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=165"}],"version-history":[{"count":2,"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/pages\/165\/revisions"}],"predecessor-version":[{"id":167,"href":"https:\/\/atakan.online\/index.php?rest_route=\/wp\/v2\/pages\/165\/revisions\/167"}],"wp:attachment":[{"href":"https:\/\/atakan.online\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}