{"id":1127,"date":"2026-04-15T23:55:12","date_gmt":"2026-04-15T22:55:12","guid":{"rendered":"https:\/\/www.iksz.eu\/?page_id=1127"},"modified":"2026-04-16T12:51:36","modified_gmt":"2026-04-16T11:51:36","slug":"kikapcsolodas","status":"publish","type":"page","link":"https:\/\/www.iksz.eu\/en\/kikapcsolodas\/","title":{"rendered":"Kikapcsol\u00f3d\u00e1s :)"},"content":{"rendered":"\r\n    <div id=\"snake-wrapper-1776430766\" class=\"nokia-snake-wrapper\">\r\n        <div class=\"snake-instructions\">\r\n            <h3>\ud83d\udc0d Klasszikus Snake (Pro verzi\u00f3)<\/h3>\r\n            <p><strong>\ud83d\udcdc Szab\u00e1lyok:<\/strong> Egy\u00e9l min\u00e9l t\u00f6bb falatot! Ahogy n\u0151 a pontsz\u00e1mod, \u00fagy l\u00e9psz szintet \u00e9s <strong>gyorsul a k\u00edgy\u00f3<\/strong>.<\/p>\r\n            <p><strong>\ud83c\udfae Ir\u00e1ny\u00edt\u00e1s:<\/strong> \r\n                <br>\u2022 <strong>Nyilak<\/strong>: Mozg\u00e1s\r\n                <br>\u2022 <strong>Enter<\/strong>: J\u00e1t\u00e9k ind\u00edt\u00e1sa \/ \u00dajraind\u00edt\u00e1s\r\n                <br>\u2022 <strong>P<\/strong> bet\u0171: Sz\u00fcnet (Pause)\r\n            <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"game-board\">\r\n            <div class=\"scores-container\">\r\n                <div class=\"score-box\">Pont: <br><span id=\"snakeScore\">0<\/span><\/div>\r\n                <div class=\"score-box\">Szint: <br><span id=\"snakeLevel\">1<\/span><\/div>\r\n                <div class=\"score-box\">Rekord: <br><span id=\"topScoreDisplay\">---<\/span><\/div>\r\n            <\/div>\r\n\r\n            <canvas id=\"snakeCanvas\" width=\"400\" height=\"400\"><\/canvas>\r\n            \r\n            <div id=\"startScreenUI\">\r\n                <h3>K\u00e9szen \u00e1llsz?<\/h3>\r\n                <p>Nyomj <strong>Entert<\/strong> a kezd\u00e9shez!<\/p>\r\n                <button id=\"startBtn\">Ind\u00edt\u00e1s<\/button>\r\n            <\/div>\r\n\r\n            <div id=\"gameOverUI\" style=\"display:none;\">\r\n                <h3 id=\"goTitle\">GAME OVER<\/h3>\r\n                <div id=\"newRecordBox\" style=\"display:none;\">\r\n                    <p>\ud83d\udd25 <strong>\u00daJ REKORD!<\/strong> \ud83d\udd25<\/p>\r\n                    <input type=\"text\" id=\"playerName\" maxlength=\"25\" placeholder=\"Add meg a neved (max 25 kar.)\" \/>\r\n                    <button id=\"saveScoreBtn\">Ment\u00e9s<\/button>\r\n                    <p id=\"nameError\" class=\"error-msg\">K\u00e9rlek, v\u00e1lassz m\u00e1sik nevet!<\/p>\r\n                <\/div>\r\n                <button id=\"restartBtn\">\u00dajraind\u00edt\u00e1s (Enter)<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n        .nokia-snake-wrapper {\r\n            max-width: 100%; width: 500px; margin: 20px auto; font-family: 'Courier New', Courier, monospace; text-align: center;\r\n        }\r\n        .snake-instructions {\r\n            background: #f4f4f4; padding: 15px; border-radius: 8px; margin-bottom: 20px; text-align: left; border: 1px solid #ddd;\r\n        }\r\n        .game-board {\r\n            background-color: #879372; padding: 20px; border-radius: 15px; border: 8px solid #333; box-shadow: 0 10px 20px rgba(0,0,0,0.2);\r\n            display: inline-block; position: relative; width: 100%; box-sizing: border-box;\r\n        }\r\n        .scores-container {\r\n            display: flex; justify-content: space-between; margin-bottom: 10px;\r\n            font-weight: bold; color: #2e3523; font-size: 14px; text-transform: uppercase;\r\n        }\r\n        .score-box { text-align: center; width: 33%; }\r\n        .score-box span { font-size: 22px; }\r\n        #snakeCanvas {\r\n            background-color: #879372; border: 2px solid #2e3523; display: block; margin: 0 auto; image-rendering: pixelated; max-width: 100%;\r\n        }\r\n        \r\n        \/* UI St\u00edlusok (Kezd\u0151 \u00e9s Game Over) *\/\r\n        #startScreenUI, #gameOverUI {\r\n            position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);\r\n            background: rgba(135, 147, 114, 0.95); padding: 20px; border: 3px solid #2e3523; border-radius: 8px; width: 80%;\r\n        }\r\n        h3 { margin: 5px 0; color: #2e3523; font-size: 24px; }\r\n        #playerName {\r\n            padding: 8px; font-family: 'Courier New', Courier, monospace; width: 80%;\r\n            border: 2px solid #2e3523; border-radius: 4px; outline: none; background: #9bba79; color: #111; font-weight: bold;\r\n        }\r\n        button {\r\n            padding: 10px 20px; font-family: 'Courier New', Courier, monospace; font-weight: bold; font-size: 16px;\r\n            background-color: #2e3523; color: #879372; border: none; cursor: pointer; border-radius: 4px; margin-top: 15px;\r\n        }\r\n        button:hover { background-color: #1a1e14; }\r\n        .error-msg { color: #8b0000; font-size: 14px; font-weight: bold; display: none; margin-top: 5px; }\r\n    <\/style>\r\n\r\n    <script>\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            const canvas = document.getElementById('snakeCanvas');\r\n            if (!canvas) return; \r\n            const ctx = canvas.getContext('2d');\r\n            \r\n            \/\/ UI Elemek\r\n            const scoreElement = document.getElementById('snakeScore');\r\n            const levelElement = document.getElementById('snakeLevel');\r\n            const topScoreDisplay = document.getElementById('topScoreDisplay');\r\n            const gameOverUI = document.getElementById('gameOverUI');\r\n            const startScreenUI = document.getElementById('startScreenUI');\r\n            const newRecordBox = document.getElementById('newRecordBox');\r\n            const restartBtn = document.getElementById('restartBtn');\r\n            const startBtn = document.getElementById('startBtn');\r\n            const saveScoreBtn = document.getElementById('saveScoreBtn');\r\n            const playerNameInput = document.getElementById('playerName');\r\n            const nameError = document.getElementById('nameError');\r\n\r\n            \/\/ J\u00e1t\u00e9k \u00e1llapot v\u00e1ltoz\u00f3k\r\n            const gridSize = 20;\r\n            let snake = []; let food = {}; let dx = gridSize; let dy = 0; \r\n            let score = 0; let level = 1; \r\n            let gameLoop; \r\n            let isGameOver = false;\r\n            let gameStarted = false;\r\n            let isPaused = false;\r\n            \r\n            \/\/ Sebess\u00e9g be\u00e1ll\u00edt\u00e1sok (ms)\r\n            const baseSpeed = 160; \r\n            let currentSpeed = baseSpeed;\r\n\r\n            const pixelColor = '#2e3523';\r\n\r\n            \/\/ Top Score bet\u00f6lt\u00e9se\r\n            let topScore = parseInt(localStorage.getItem('nokiaSnakeTopScore')) || 0;\r\n            let topName = localStorage.getItem('nokiaSnakeTopName') || 'N\u00e9vtelen';\r\n\r\n            function updateTopScoreUI() {\r\n                if(topScore > 0) {\r\n                    topScoreDisplay.innerText = topScore + \" (\" + topName + \")\";\r\n                } else {\r\n                    topScoreDisplay.innerText = \"0\";\r\n                }\r\n            }\r\n            updateTopScoreUI();\r\n\r\n            \/\/ Sz\u0171r\u0151\r\n            const badWords = ['geci', 'kurva', 'fasz', 'szar', 'basz', 'picsa', 'buzi', 'cig\u00e1ny', 'putri', 'fuck', 'shit', 'bitch', 'asshole', 'cunt'];\r\n            function containsBadWord(text) {\r\n                return badWords.some(word => text.toLowerCase().includes(word));\r\n            }\r\n\r\n            function initGame() {\r\n                snake = [{x: 160, y: 160}, {x: 140, y: 160}, {x: 120, y: 160}];\r\n                score = 0; level = 1; dx = gridSize; dy = 0; \r\n                currentSpeed = baseSpeed;\r\n                isGameOver = false; gameStarted = true; isPaused = false;\r\n                \r\n                scoreElement.innerText = score;\r\n                levelElement.innerText = level;\r\n                \r\n                gameOverUI.style.display = 'none';\r\n                startScreenUI.style.display = 'none';\r\n                newRecordBox.style.display = 'none';\r\n                nameError.style.display = 'none';\r\n                restartBtn.style.display = 'inline-block';\r\n                playerNameInput.value = '';\r\n\r\n                createFood();\r\n                \r\n                if(gameLoop) clearInterval(gameLoop);\r\n                gameLoop = setInterval(update, currentSpeed);\r\n            }\r\n\r\n            function createFood() {\r\n                food.x = Math.floor(Math.random() * (canvas.width \/ gridSize)) * gridSize;\r\n                food.y = Math.floor(Math.random() * (canvas.height \/ gridSize)) * gridSize;\r\n                snake.forEach(part => { if (part.x === food.x && part.y === food.y) createFood(); });\r\n            }\r\n\r\n            function updateSpeed() {\r\n                \/\/ Minden 50 pont ut\u00e1n \u00faj szint (1 falat = 10 pont, teh\u00e1t 5 falatonk\u00e9nt)\r\n                let newLevel = Math.floor(score \/ 50) + 1;\r\n                if (newLevel > level) {\r\n                    level = newLevel;\r\n                    levelElement.innerText = level;\r\n                    \r\n                    \/\/ A sebess\u00e9g cs\u00f6kken\u00e9se (min\u00e9l kisebb az ms, ann\u00e1l gyorsabb)\r\n                    \/\/ Szintenk\u00e9nt 15ms-et vonunk le, de nem megy\u00fcnk 50ms al\u00e1 (az m\u00e1r embertelen)\r\n                    currentSpeed = Math.max(50, baseSpeed - ((level - 1) * 15));\r\n                    \r\n                    clearInterval(gameLoop);\r\n                    gameLoop = setInterval(update, currentSpeed);\r\n                }\r\n            }\r\n\r\n            function update() {\r\n                if (isGameOver || isPaused) return;\r\n                \r\n                const head = {x: snake[0].x + dx, y: snake[0].y + dy};\r\n                snake.unshift(head);\r\n\r\n                if (head.x === food.x && head.y === food.y) {\r\n                    score += 10;\r\n                    scoreElement.innerText = score;\r\n                    updateSpeed();\r\n                    createFood();\r\n                } else {\r\n                    snake.pop();\r\n                }\r\n                checkCollision();\r\n                draw();\r\n            }\r\n\r\n            function checkCollision() {\r\n                const head = snake[0];\r\n                if (head.x < 0 || head.x >= canvas.width || head.y < 0 || head.y >= canvas.height) gameOver();\r\n                for (let i = 1; i < snake.length; i++) {\r\n                    if (head.x === snake[i].x && head.y === snake[i].y) gameOver();\r\n                }\r\n            }\r\n\r\n            function gameOver() {\r\n                isGameOver = true; gameStarted = false;\r\n                clearInterval(gameLoop);\r\n                \r\n                ctx.fillStyle = \"rgba(135, 147, 114, 0.7)\";\r\n                ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n                \r\n                gameOverUI.style.display = 'block';\r\n\r\n                if (score > topScore && score > 0) {\r\n                    newRecordBox.style.display = 'block';\r\n                    restartBtn.style.display = 'none'; \r\n                    playerNameInput.focus();\r\n                }\r\n            }\r\n\r\n            function draw() {\r\n                if(isGameOver) return;\r\n                ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n                \r\n                \/\/ Kaja\r\n                ctx.fillStyle = pixelColor;\r\n                ctx.fillRect(food.x + 2, food.y + 2, gridSize - 4, gridSize - 4);\r\n\r\n                \/\/ K\u00edgy\u00f3\r\n                ctx.fillStyle = pixelColor;\r\n                snake.forEach((part) => {\r\n                    ctx.fillRect(part.x + 1, part.y + 1, gridSize - 2, gridSize - 2);\r\n                });\r\n            }\r\n\r\n            function togglePause() {\r\n                if (!gameStarted || isGameOver) return;\r\n                \r\n                isPaused = !isPaused;\r\n                if (isPaused) {\r\n                    clearInterval(gameLoop);\r\n                    \/\/ Ki\u00edrjuk a k\u00e9perny\u0151re, hogy Sz\u00fcnet\r\n                    ctx.fillStyle = \"rgba(135, 147, 114, 0.6)\";\r\n                    ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n                    ctx.fillStyle = pixelColor;\r\n                    ctx.font = \"bold 30px 'Courier New'\";\r\n                    ctx.textAlign = \"center\";\r\n                    ctx.fillText(\"SZ\u00dcNET\", canvas.width \/ 2, canvas.height \/ 2);\r\n                } else {\r\n                    gameLoop = setInterval(update, currentSpeed);\r\n                }\r\n            }\r\n\r\n            function saveScore() {\r\n                let name = playerNameInput.value.trim();\r\n                if (name.length === 0) name = \"N\u00e9vtelen\";\r\n\r\n                if (containsBadWord(name)) {\r\n                    nameError.style.display = 'block';\r\n                    return; \r\n                }\r\n\r\n                nameError.style.display = 'none';\r\n                topScore = score; topName = name;\r\n                \r\n                localStorage.setItem('nokiaSnakeTopScore', topScore);\r\n                localStorage.setItem('nokiaSnakeTopName', topName);\r\n                \r\n                updateTopScoreUI();\r\n                newRecordBox.style.display = 'none';\r\n                restartBtn.style.display = 'inline-block';\r\n                restartBtn.focus();\r\n            }\r\n\r\n            \/\/ Gomb esem\u00e9nyek\r\n            saveScoreBtn.addEventListener('click', saveScore);\r\n            restartBtn.addEventListener('click', initGame);\r\n            startBtn.addEventListener('click', initGame);\r\n\r\n            \/\/ Billenty\u0171zet esem\u00e9nyek\r\n            document.addEventListener('keydown', e => {\r\n                \/\/ Ir\u00e1ny\u00edt\u00e1s \u00e9s g\u00f6rget\u00e9s letilt\u00e1sa\r\n                if([\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\", \"Space\"].includes(e.code)) {\r\n                    if(gameStarted) e.preventDefault();\r\n                }\r\n\r\n                \/\/ Ha beviteli mez\u0151ben vagyunk\r\n                if (document.activeElement === playerNameInput) {\r\n                    if (e.key === 'Enter') {\r\n                        e.preventDefault();\r\n                        saveScore();\r\n                    }\r\n                    return; \/\/ Ne engedj\u00fck a t\u00f6bbi gombot hatni, am\u00edg \u00edr\r\n                }\r\n\r\n                \/\/ J\u00e1t\u00e9k ind\u00edt\u00e1sa \/ \u00dajraind\u00edt\u00e1sa Enterrel\r\n                if (e.key === 'Enter') {\r\n                    e.preventDefault();\r\n                    if (!gameStarted && !isGameOver) {\r\n                        initGame();\r\n                    } else if (isGameOver && restartBtn.style.display !== 'none') {\r\n                        initGame();\r\n                    }\r\n                }\r\n\r\n                \/\/ Sz\u00fcnetel\u00e9s P bet\u0171vel\r\n                if (e.key.toLowerCase() === 'p') {\r\n                    togglePause();\r\n                }\r\n\r\n                \/\/ Mozg\u00e1s (csak ha fut a j\u00e1t\u00e9k \u00e9s nincs sz\u00fcneteltetve)\r\n                if (gameStarted && !isPaused && !isGameOver) {\r\n                    if (e.key === 'ArrowUp' && dy === 0) { dx = 0; dy = -gridSize; }\r\n                    if (e.key === 'ArrowDown' && dy === 0) { dx = 0; dy = gridSize; }\r\n                    if (e.key === 'ArrowLeft' && dx === 0) { dx = -gridSize; dy = 0; }\r\n                    if (e.key === 'ArrowRight' && dx === 0) { dx = gridSize; dy = 0; }\r\n                }\r\n            });\r\n\r\n            \/\/ Kezdeti kirajzol\u00e1s (\u00fcres p\u00e1lya)\r\n            ctx.fillStyle = pixelColor;\r\n            ctx.fillRect(160+1, 160+1, gridSize-2, gridSize-2);\r\n            ctx.fillRect(140+1, 160+1, gridSize-2, gridSize-2);\r\n            ctx.fillRect(120+1, 160+1, gridSize-2, gridSize-2);\r\n        });\r\n    <\/script>\r\n    \n\n\n\n<p><strong>Sakk:<\/strong><\/p>\n\n\n    \r\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/chessboard-js\/1.0.0\/chessboard-1.0.0.min.css\">\r\n    <script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script>\r\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/chess.js\/0.10.3\/chess.min.js\"><\/script>\r\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/chessboard-js\/1.0.0\/chessboard-1.0.0.min.js\"><\/script>\r\n\r\n    <style>\r\n        .chess-container { max-width: 500px; margin: 20px auto; font-family: sans-serif; }\r\n        .chess-header { display: flex; justify-content: space-between; background: #333; color: #fff; padding: 10px 15px; border-radius: 6px 6px 0 0; }\r\n        .role-tag { padding: 2px 8px; border-radius: 4px; font-weight: bold; font-size: 12px; }\r\n        .white-tag { background: #fff; color: #000; }\r\n        .black-tag { background: #555; color: #fff; border: 1px solid #777; }\r\n        .chess-controls { display: flex; justify-content: space-between; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-bottom: none; gap: 10px; }\r\n        #game-status { padding: 15px; background: #f0f0f1; border-radius: 0 0 6px 6px; border: 1px solid #ddd; text-align: center; }\r\n        #status-text { font-weight: bold; display: block; }\r\n        .turn-indicator { font-size: 0.85em; color: #666; margin-top: 5px; }\r\n    <\/style>\r\n\r\n    <div class=\"chess-container\">\r\n        <div class=\"chess-header\">\r\n            <span><span class=\"role-tag white-tag\">VIL\u00c1GOS<\/span> Te<\/span>\r\n            <span>G\u00e9p <span class=\"role-tag black-tag\">S\u00d6T\u00c9T<\/span><\/span>\r\n        <\/div>\r\n        <div class=\"chess-controls\">\r\n            <select id=\"ai-difficulty\">\r\n                <option value=\"1\">Kezd\u0151<\/option>\r\n                <option value=\"2\">Halad\u00f3<\/option>\r\n                <option value=\"3\">Mester<\/option>\r\n            <\/select>\r\n            <button id=\"reset-btn\" style=\"cursor:pointer\">\u00daj j\u00e1t\u00e9k<\/button>\r\n        <\/div>\r\n        <div id=\"myBoard\" style=\"width: 100%\"><\/div>\r\n        <div id=\"game-status\">\r\n            <span id=\"status-text\">Tegy\u00e9l egy l\u00e9p\u00e9st!<\/span>\r\n            <span class=\"turn-indicator\">Vil\u00e1gos b\u00e1bukkal vagy.<\/span>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n    jQuery(document).ready(function($) {\r\n        var board = null;\r\n        var game = new Chess();\r\n        var $status = $('#status-text');\r\n\r\n        \/\/ Egyszer\u0171s\u00edtett \u00e9rt\u00e9kel\u0151 f\u00fcggv\u00e9ny\r\n        function evaluateBoard(game) {\r\n            var totalEvaluation = 0;\r\n            var boardArray = game.board();\r\n            var pieceValues = { 'p': 10, 'n': 30, 'b': 30, 'r': 50, 'q': 90, 'k': 900 };\r\n            \r\n            for (var i = 0; i < 8; i++) {\r\n                for (var j = 0; j < 8; j++) {\r\n                    var piece = boardArray[i][j];\r\n                    if (piece) {\r\n                        var val = pieceValues[piece.type];\r\n                        totalEvaluation += piece.color === 'w' ? val : -val;\r\n                    }\r\n                }\r\n            }\r\n            return totalEvaluation;\r\n        }\r\n\r\n        function minimax(depth, game, alpha, beta, isMaximizing) {\r\n            if (depth === 0 || game.game_over()) return evaluateBoard(game);\r\n            \r\n            var moves = game.moves();\r\n            if (isMaximizing) {\r\n                var bestVal = -9999;\r\n                for (var i = 0; i < moves.length; i++) {\r\n                    game.move(moves[i]);\r\n                    bestVal = Math.max(bestVal, minimax(depth - 1, game, alpha, beta, false));\r\n                    game.undo();\r\n                    alpha = Math.max(alpha, bestVal);\r\n                    if (beta <= alpha) break;\r\n                }\r\n                return bestVal;\r\n            } else {\r\n                var bestVal = 9999;\r\n                for (var i = 0; i < moves.length; i++) {\r\n                    game.move(moves[i]);\r\n                    bestVal = Math.min(bestVal, minimax(depth - 1, game, alpha, beta, true));\r\n                    game.undo();\r\n                    beta = Math.min(beta, bestVal);\r\n                    if (beta <= alpha) break;\r\n                }\r\n                return bestVal;\r\n            }\r\n        }\r\n\r\n        function makeComputerMove() {\r\n            var moves = game.moves();\r\n            if (moves.length === 0) return;\r\n\r\n            var depth = parseInt($('#ai-difficulty').val());\r\n            var bestMove = null;\r\n            var bestValue = 9999; \/\/ A g\u00e9p s\u00f6t\u00e9t, teh\u00e1t minimaliz\u00e1l\r\n\r\n            \/\/ V\u00e9letlenszer\u0171s\u00e9g a kezd\u0151 szinthez\r\n            moves.sort(function() { return 0.5 - Math.random() });\r\n\r\n            for (var i = 0; i < moves.length; i++) {\r\n                game.move(moves[i]);\r\n                var boardValue = minimax(depth - 1, game, -10000, 10000, true);\r\n                game.undo();\r\n                if (boardValue < bestValue) {\r\n                    bestValue = boardValue;\r\n                    bestMove = moves[i];\r\n                }\r\n            }\r\n\r\n            game.move(bestMove);\r\n            board.position(game.fen());\r\n            updateStatus();\r\n        }\r\n\r\n        function onDragStart(source, piece, position, orientation) {\r\n            \/\/ Csak vil\u00e1gossal l\u00e9phet a j\u00e1t\u00e9kos, \u00e9s csak ha nincs v\u00e9ge a j\u00e1t\u00e9knak\r\n            if (game.game_over()) return false;\r\n            if (piece.search(\/^b\/) !== -1) return false;\r\n        }\r\n\r\n        function onDrop(source, target) {\r\n            var move = game.move({\r\n                from: source,\r\n                to: target,\r\n                promotion: 'q'\r\n            });\r\n\r\n            if (move === null) return 'snapback';\r\n\r\n            updateStatus();\r\n            \/\/ A sz\u00e1m\u00edt\u00f3g\u00e9p l\u00e9p\u00e9se r\u00f6vid k\u00e9sleltet\u00e9ssel\r\n            window.setTimeout(makeComputerMove, 300);\r\n        }\r\n\r\n        function onSnapEnd() {\r\n            board.position(game.fen());\r\n        }\r\n\r\n        function updateStatus() {\r\n            var status = '';\r\n            var moveColor = (game.turn() === 'b') ? 'A sz\u00e1m\u00edt\u00f3g\u00e9p (S\u00f6t\u00e9t)' : 'Te (Vil\u00e1gos)';\r\n\r\n            if (game.in_checkmate()) {\r\n                status = 'J\u00e1t\u00e9k v\u00e9ge! ' + moveColor + ' mattot kapott.';\r\n            } else if (game.in_draw()) {\r\n                status = 'J\u00e1t\u00e9k v\u00e9ge! D\u00f6ntetlen.';\r\n            } else {\r\n                status = moveColor + ' k\u00f6vetkezik...';\r\n                if (game.in_check()) status += ' (Sakk!)';\r\n            }\r\n\r\n            $status.html(status);\r\n        }\r\n\r\n        var config = {\r\n            draggable: true,\r\n            position: 'start',\r\n            onDragStart: onDragStart,\r\n            onDrop: onDrop,\r\n            onSnapEnd: onSnapEnd,\r\n            pieceTheme: 'https:\/\/chessboardjs.com\/img\/chesspieces\/wikipedia\/{piece}.png'\r\n        };\r\n\r\n        board = Chessboard('myBoard', config);\r\n        updateStatus();\r\n\r\n        $('#reset-btn').on('click', function() {\r\n            game.reset();\r\n            board.start();\r\n            updateStatus();\r\n        });\r\n    });\r\n    <\/script>\r\n    \r\n    \n","protected":false},"excerpt":{"rendered":"<p>Sakk:<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1127","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kikapcsol\u00f3d\u00e1s :) - Info Kommunik\u00e1ci\u00f3s Szakszervezet<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iksz.eu\/en\/kikapcsolodas\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kikapcsol\u00f3d\u00e1s :) - Info Kommunik\u00e1ci\u00f3s Szakszervezet\" \/>\n<meta property=\"og:description\" content=\"Sakk:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iksz.eu\/en\/kikapcsolodas\/\" \/>\n<meta property=\"og:site_name\" content=\"Info Kommunik\u00e1ci\u00f3s Szakszervezet\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-16T11:51:36+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/kikapcsolodas\\\/\",\"url\":\"https:\\\/\\\/www.iksz.eu\\\/kikapcsolodas\\\/\",\"name\":\"Kikapcsol\u00f3d\u00e1s :) - Info Kommunik\u00e1ci\u00f3s Szakszervezet\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/#website\"},\"datePublished\":\"2026-04-15T22:55:12+00:00\",\"dateModified\":\"2026-04-16T11:51:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/kikapcsolodas\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.iksz.eu\\\/kikapcsolodas\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/kikapcsolodas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Kezd\u0151lap\",\"item\":\"https:\\\/\\\/www.iksz.eu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kikapcsol\u00f3d\u00e1s :)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/#website\",\"url\":\"https:\\\/\\\/www.iksz.eu\\\/\",\"name\":\"Info Kommunik\u00e1ci\u00f3s Szakszervezet \\\/ IKSZ\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.iksz.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/#organization\",\"name\":\"Info Kommunik\u00e1ci\u00f3s Szakszervezet \\\/ IKSZ\",\"url\":\"https:\\\/\\\/www.iksz.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.iksz.eu\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/cropped-ginop_iksz.png\",\"contentUrl\":\"https:\\\/\\\/www.iksz.eu\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/cropped-ginop_iksz.png\",\"width\":1125,\"height\":250,\"caption\":\"Info Kommunik\u00e1ci\u00f3s Szakszervezet \\\/ IKSZ\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iksz.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kikapcsol\u00f3d\u00e1s :) - Info Kommunik\u00e1ci\u00f3s Szakszervezet","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.iksz.eu\/en\/kikapcsolodas\/","og_locale":"en_GB","og_type":"article","og_title":"Kikapcsol\u00f3d\u00e1s :) - Info Kommunik\u00e1ci\u00f3s Szakszervezet","og_description":"Sakk:","og_url":"https:\/\/www.iksz.eu\/en\/kikapcsolodas\/","og_site_name":"Info Kommunik\u00e1ci\u00f3s Szakszervezet","article_modified_time":"2026-04-16T11:51:36+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.iksz.eu\/kikapcsolodas\/","url":"https:\/\/www.iksz.eu\/kikapcsolodas\/","name":"Kikapcsol\u00f3d\u00e1s :) - Info Kommunik\u00e1ci\u00f3s Szakszervezet","isPartOf":{"@id":"https:\/\/www.iksz.eu\/#website"},"datePublished":"2026-04-15T22:55:12+00:00","dateModified":"2026-04-16T11:51:36+00:00","breadcrumb":{"@id":"https:\/\/www.iksz.eu\/kikapcsolodas\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iksz.eu\/kikapcsolodas\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.iksz.eu\/kikapcsolodas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Kezd\u0151lap","item":"https:\/\/www.iksz.eu\/"},{"@type":"ListItem","position":2,"name":"Kikapcsol\u00f3d\u00e1s :)"}]},{"@type":"WebSite","@id":"https:\/\/www.iksz.eu\/#website","url":"https:\/\/www.iksz.eu\/","name":"Info Communication Trade Union \/ ICFTU","description":"","publisher":{"@id":"https:\/\/www.iksz.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iksz.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.iksz.eu\/#organization","name":"Info Communication Trade Union \/ ICFTU","url":"https:\/\/www.iksz.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.iksz.eu\/#\/schema\/logo\/image\/","url":"https:\/\/www.iksz.eu\/wp-content\/uploads\/2025\/01\/cropped-ginop_iksz.png","contentUrl":"https:\/\/www.iksz.eu\/wp-content\/uploads\/2025\/01\/cropped-ginop_iksz.png","width":1125,"height":250,"caption":"Info Kommunik\u00e1ci\u00f3s Szakszervezet \/ IKSZ"},"image":{"@id":"https:\/\/www.iksz.eu\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.iksz.eu\/en\/wp-json\/wp\/v2\/pages\/1127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iksz.eu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.iksz.eu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.iksz.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iksz.eu\/en\/wp-json\/wp\/v2\/comments?post=1127"}],"version-history":[{"count":10,"href":"https:\/\/www.iksz.eu\/en\/wp-json\/wp\/v2\/pages\/1127\/revisions"}],"predecessor-version":[{"id":1155,"href":"https:\/\/www.iksz.eu\/en\/wp-json\/wp\/v2\/pages\/1127\/revisions\/1155"}],"wp:attachment":[{"href":"https:\/\/www.iksz.eu\/en\/wp-json\/wp\/v2\/media?parent=1127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}