CINXE.COM

Dots and Boxes - Playdia

<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8" /> <meta name="description" content="Do you have what it takes to out-box the computer?Click and drag to connect two adjacent dots. You can draw lines either horizontally or vertically. Completing a box scores you a point and grants an extra turn. The game ends when the board is filled, and the player with the most boxes emerges as the winner!Try the special QUICK GAME mode to begin with several lines already in place and jump straight into the scoring part." /> <meta name="keywords" content="Dots and Boxes, playdia, math, maths, game, games, free, online, fun" /> <meta name="robots" content="index, follow" /> <link rel="canonical" href="http://www.playdia.com/g/dots-and-boxes" /> <meta name="Generator" content="Drupal 10 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no maximum-scale=5.0, user-scalable=yes, minimal-ui" /> <link rel="icon" href="/themes/custom/coolxgames/favicon.ico" type="image/vnd.microsoft.icon" /> <title>Dots and Boxes - Playdia</title> <script> window.ramp = window.ramp || {}; window.ramp.que = window.ramp.que || []; window.ramp.passiveMode = true; window.ramp.custom_tags = ["","","","www.playdia.com"]; const addUnits = ()=> { window.ramp.que.push(()=>{ ramp.spaNewPage() } )}; // Load the Ramp configuration script const configScript = document.createElement("script"); // Connects to Cool X Games config file configScript.src = "https://cdn.intergient.com/1025365/75408/ramp.js"; // Fires the addUnits function which displays ads on the page. configScript.onload = addUnits; // Appends the Cool X Games Script to the Footer of the document. document.addEventListener("DOMContentLoaded", function() { const footer = document.querySelector("footer") footer.appendChild(configScript); }); </script> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/align.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/fieldgroup.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/container-inline.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/clearfix.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/details.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/hidden.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/item-list.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/js.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/nowrap.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/position-container.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/reset-appearance.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/resize.module.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-counter.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-report-counters.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-report-general-info.css?srmz69" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/tablesort.module.css?srmz69" /> <link rel="stylesheet" media="all" href="https://use.typekit.net/emn6jlm.css" /> <link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&amp;display=swap" /> <link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&amp;display=swap" /> <link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css2?family=Quattrocento+Sans:wght@400;700&amp;display=swap" /> <link rel="stylesheet" media="all" href="/themes/custom/coolxgames/assets/css/global.css?srmz69" /> <link rel="stylesheet" media="all" href="/themes/custom/coolxgames/assets/css/detail-page.css?srmz69" /> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-55GKNX79');</script> <!-- End Google Tag Manager --> </head> <body class="node-game node-25"> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <style type="text/css"> :root { --titleColor: #2E2E2E; --titleBgColor: transparent; --catTitleColor: #2E2E2E; --headingColor: #2E2E2E; --subTitleColor: #2E2E2E; --bodyColor: #B6B6B626; --accentColor: #800D04; --activeAccentColor: #E04B00; --pnavbarColor: #2E2E2E; --activeNavbarColor: #787878; --navbarColor: #FFFFFF; --footerColor: #FFFFFF; --pageBG: url('/themes/custom/coolxgames/assets/images/default-bg.png'); --pageBgColor: #fff; } </style> <header class="ps-header-wrapper"> <div class="ps-header"> <!-- loading from live template --> <div class="cm-link"> <a href="https://www.playdia.com"><span>Powered by</span><img alt="Playdia Header Logo" src="/themes/custom/coolxgames/assets/images/logo.svg" /></a> </div> <div class="breadcrumbs-wrapper"> <!-- loading from live template coolxgames_breadcrumbs is not empty --> <div id="block-coolxgames-breadcrumbs"> <nav role="navigation" aria-labelledby="system-breadcrumb" class="breadcrumb"> <h2 id="system-breadcrumb" class="visually-hidden">Breadcrumb</h2> <div class="breadcrumb-wrapper"> <span class="back-game breadcrumb-current"> <a href="/" class="breadcrumb-link" >All Games </a> > </span> <span class="breadcrumb-current">Dots and Boxes</span> </div> </nav> </div> </div> </div> </header> <div class="ps-top-ads ads"> </div> <div class="ps-main"> <div class="ps-content"> <div> <div data-drupal-messages-fallback class="hidden"></div> <div id="block-coolxgames-content"> <style type="text/css"> :root { --gameBg: url('/sites/default/files/2024-07/dots-and-boxes.jpg'); } </style> <style> @keyframes bounce { 0%, 100% { transform: translateY(0); opacity: 1; } 50% { transform: translateY(-10px); opacity: 0.5; } } @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .loading-text { animation: blink 0.5s infinite; } .loading-circle { animation: bounce 0.6s infinite; } .delay-0 { animation-delay: 0s; } .delay-1 { animation-delay: 0.2s; } .delay-2 { animation-delay: 0.4s; } </style> <script> </script> <article data-history-node-id="25"> <div class="game-stage"> <div class="game-stage-top"> <div class="img-thumb"> <button>Open Game</button> <img src="/sites/default/files/2024-07/dots-and-boxes.jpg" width=600 height="350" alt="Dots and Boxes Game" /> </div> <div class="game-overlay"></div> <div id="loading-spinner" class="loading-spinner" style="position: absolute; z-index: 100; background: white; width: 100%; height: 100%; opacity: 0.8; display: flex; align-items: center; justify-content: center;"> <div id="loading-spinner" class="loading-spinner" style="position: absolute; z-index: 100; background: white; width: 100%; height: 100%; opacity: 0.8; display: flex; align-items: center; justify-content: center;"> <svg width="200" height="50" viewBox="0 0 200 50" xmlns="http://www.w3.org/2000/svg"> <text x="10" y="30" font-size="20" fill="black" class="loading-text">Loading</text> <circle cx="130" cy="30" r="5" fill="black" class="loading-circle delay-0"></circle> <circle cx="150" cy="30" r="5" fill="black" class="loading-circle delay-1"></circle> <circle cx="170" cy="30" r="5" fill="black" class="loading-circle delay-2"></circle> </svg> </div> </div> <div class="iframe"> <div class="game-bar"> <button>Back</button> </div> <iframe id="html5game" title="Dots and Boxes Gameplay Area" src="" data-src="https://www.playdia.com/sites/default/files/public_games/280/" class="square no-select" width="800" height="600" scrolling="no" marginwidth="0" vspace="0" frameborder="0" hspace="0" marginheight="0" allow="web-share; clipboard-read; clipboard-write"></iframe> </div> </div> </div> <div class="ps-mid-ads ads"></div> <div> <div class="ps-cat-lists default-cat-lists rec-list"> <div class="slider"> <h2>Recommended</h2> <div class="dots"></div> <ul class="items"> <li class="item"> <a href="/g/word-search"> <div class="img"> <img src="/sites/default/files/2024-07/Word%20Search%20OG%20Image.png" alt="Word Search"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2024-08/word_search_gameplay.mp4"></video> </div> <div class="game-text"> <h3>Word Search</h3> <p>Hunt for the hidden words!</p> </div> </a> </li> <li class="item"> <a href="/g/suika-watermelon-merge"> <div class="img"> <img src="/sites/default/files/2024-07/Watermelon-Merge.jpg" alt="Suika Watermelon Merge"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2024-07/Suika%20Watermelon%20Game%20Gameplay_0.mp4"></video> </div> <div class="game-text"> <h3>Suika Watermelon Merge</h3> <p>Merge all the fruits!</p> </div> </a> </li> <li class="item"> <a href="/g/dominoes"> <div class="img"> <img src="/sites/default/files/2024-07/dominoes.jpg" alt="Dominoes"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2024-08/dominoes_gameplay.mp4"></video> </div> <div class="game-text"> <h3>Dominoes</h3> <p>Play all your tiles before your opponent!</p> </div> </a> </li> <li class="item"> <a href="/g/cryptograms"> <div class="img"> <img src="/sites/default/files/2025-01/cryptograms_1.png" alt="Cryptograms"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2025-01/Cryptograms%20Gameplay.mp4"></video> </div> <div class="game-text"> <h3>Cryptograms</h3> <p>Solve every puzzle in this code-breaking word game! </p> </div> </a> </li> <li class="item"> <a href="/g/10x10"> <div class="img"> <img src="/sites/default/files/2024-12/10x10.jpg" alt="10x10"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2025-01/10x10-gameplay.mp4"></video> </div> <div class="game-text"> <h3>10x10</h3> <p>Drag &#039;n drop Tetris-style blocks to get a high score!</p> </div> </a> </li> <li class="item"> <a href="/g/connect-dots"> <div class="img"> <img src="/sites/default/files/2025-01/connect-the-dots.jpg" alt="Connect the Dots"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2025-01/connect_the_dots_gameplay.mp4"></video> </div> <div class="game-text"> <h3>Connect the Dots</h3> <p>Connect colorful dots to create magical chains!</p> </div> </a> </li> <li class="item"> <a href="/g/cribbage"> <div class="img"> <img src="/sites/default/files/2025-01/cribbage.png" alt="Cribbage"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2025-01/Cribbage%20Gameplay.mp4"></video> </div> <div class="game-text"> <h3>Cribbage</h3> <p>Score 121 points in this online multiplayer card game!</p> </div> </a> </li> <li class="item"> <a href="/g/retro-ping-pong"> <div class="img"> <img src="/sites/default/files/2024-07/RetroPingPong_OG-logo.jpg" alt="Retro Ping Pong"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2024-08/retro_ping_pong_gameplay.mp4"></video> </div> <div class="game-text"> <h3>Retro Ping Pong</h3> <p>Play classic Pong or a whole new action mode!</p> </div> </a> </li> <li class="item"> <a href="/g/hangman"> <div class="img"> <img src="/sites/default/files/2024-07/Hangman_OG-logo.jpg" alt="Hangman"> <video class="field-media" preload="none" muted="" loop="" webkit-playsinline="" playsinline="" width="100%" src="/sites/default/files/2024-07/hangman_gameplay%20%281%29.mp4"></video> </div> <div class="game-text"> <h3>Hangman</h3> <p>Play the classic word guessing game!</p> </div> </a> </li> </ul> </div> </div> </div> <div class="game-desc"> <h2>Game Instructions</h2> <div><p>Do you have what it takes to out-box the computer?</p><p>Click and drag to connect two adjacent dots. You can draw lines either horizontally or vertically. Completing a box scores you a point and grants an extra turn. The game ends when the board is filled, and the player with the most boxes emerges as the winner!</p><p>Try the special QUICK GAME mode to begin with several lines already in place and jump straight into the scoring part.</p></div> </div> <script> function isDesktop() { const userAgent = navigator.userAgent.toLowerCase(); const android = navigator.platform.indexOf("Linux armv81") > -1; const mobile = /mobile|tablet|ip(ad|hone|od)|android/i.test(userAgent); const tablet = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(userAgent); const ipad = !!(navigator.userAgent.match(/(iPad)/) || (navigator.platform === "MacIntel" && typeof navigator.standalone !== "undefined" && navigator.maxTouchPoints > 1)); const samsungBrowser = userAgent.indexOf("samsungbrowser") > -1; const isDesktop = !android && !mobile && !tablet && !ipad && !samsungBrowser; return isDesktop; } function addDeviceClass(){ if (isDesktop()) { document.body.classList.remove('isMobile') document.body.classList.add('isDesktop') } else { document.body.classList.remove('isDesktop') document.body.classList.add('isMobile') } } addDeviceClass(); if(!document.body.classList.contains('isMobile')){ window.ramp.onPlayerReady = function() { // Add the Ad event to show the game once the preroll ad is completed: var prerollDisplayedCounter = 0; Bolt.on('precontent_ad_video', Bolt.BOLT_AD_STARTED, function() { jQuery('.loading-spinner').hide(); //remove if there is any loader running console.log('BOLT_AD_STARTED Fired'); }); Bolt.on( 'precontent_ad_video', 'showHiddenContainer', function() { jQuery('.loading-spinner').hide(); prerollDisplayedCounter++; if(prerollDisplayedCounter == 1) { setTimeout(function(){ console.log("wait for half second to display the game"); //we need to display the game as preroll display is completed jQuery("#html5game").attr({'src':$('#html5game').attr('data-src'),'data-src':''}); }, 10); } else { jQuery('.loading-spinner').hide(); console.log("Preroll ad is already displayed " + prerollDisplayedCounter); } }); Bolt.on('precontent_ad_video', Bolt.BOLT_AD_ERROR, function() { jQuery('.loading-spinner').hide(); prerollDisplayedCounter++; if(prerollDisplayedCounter == 1) { setTimeout(function(){ console.log("wait for half second to display the game"); //we need to display the game as preroll display is completed jQuery("#html5game").attr({'src':$('#html5game').attr('data-src'),'data-src':''}); }, 10); } else { jQuery('.loading-spinner').hide(); console.log("Preroll ad is displayed " + prerollDisplayedCounter); } console.log('Preroll ad:: BOLT_AD_ERROR Fired ') }); Bolt.on('precontent_ad_video', Bolt.BOLT_AD_REQUEST_START, function() { console.log('Preroll ad:: BOLT_AD_REQUEST_START Fired'); }); Bolt.on('precontent_ad_video', Bolt.BOLT_AD_IMPRESSION, function() { console.log('Preroll ad:: BOLT_AD_IMPRESSION Fired') }); Bolt.on('precontent_ad_video', Bolt.BOLT_AD_STARTED, function() { console.log('Preroll ad:: BOLT_AD_STARTED Fired') }); } //Adblocker detection and ramo custom tags initialization window.addEventListener('DOMContentLoaded', function() { const hostname = new URL(window.location).hostname; const domainname = hostname.split('.').slice(-2).join('.'); window.ramp.custom_tags = ["pre_game",window.location.href.split('/').pop(),"",domainname]; if(/dev/.test(hostname)) { window.ramp.custom_tags = ["pre_game",window.location.href.split('/').pop(),"","test-video"]; } // Div ad bait var adBlockDiv = document.createElement('div'); // add ID's and classes that might trigger adblock adBlockDiv.id = 'adBanner_'; adBlockDiv.classList.add('adLeaderboard', 'adBanner', 'leaderboard_ad'); // set styles for ad bait div that will not affect the page adBlockDiv.style.backgroundColor = 'transparent'; adBlockDiv.style.height = '10px'; adBlockDiv.style.width = '10px'; adBlockDiv.style.position = 'fixed'; adBlockDiv.style.bottom = '-100px'; adBlockDiv.style.left = '-100px'; // provide innerHTML to give a height to the adBlockDiv adBlockDiv.innerHTML = '&nbsp;'; document.body.appendChild(adBlockDiv); // check the height of the ad bait, if 0, the div was removed by ad blocker // adblock is enabled window.adblockDetected = adBlockDiv.getBoundingClientRect().height === 0; // Image pixel ad bait detection var img = new Image(); img.onload = () => { if (window.adblockDetected !== true) { window.adblockDetected = false; } }; img.onerror = () => { window.adblockDetected = true; console.log("AdBlock detected so loading the game"); jQuery("#html5game").attr({'src':$('#html5game').attr('data-src'),'data-src':''}); }; img.src = 'https://www.playdia.com/ads/pixel.png'; }()); } </script> </article> </div> </div> </div> </div> <footer class="ps-footer-wrapper"> <div class="ps-footer"> <div> <nav role="navigation" aria-labelledby="block-coolxgames-footer-menu" id="block-coolxgames-footer"> <ul> <li> <a href="https://www.playdia.com/terms-of-use" rel="terms-of-service">Terms of Use</a> </li> <li> <a href="https://www.playdia.com/privacy-policy" rel="privacy-policy">Privacy Policy</a> </li> <li> <a href="https://www.playdia.com/contact-us" rel="contact-us">Contact Us</a> </li> </ul> </nav> </div> <div class="cm-link"> <a href="https://www.playdia.com"><span>Powered by</span><img width="100" height="81" alt="Playdia Header Logo" src="/themes/custom/coolxgames/assets/images/logo.svg" /></a> </div> </div> </footer> <div id="scrollToTopButton" class="scroll-to-top"> <img src="/themes/custom/coolxgames/assets/images/scroll-to-top.svg" alt="Scroll to Top"> </div> </div> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/25","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"coolgamezone":{"cxg_env_type":"prod"},"user":{"uid":0,"permissionsHash":"4b55f5a271943612d894073d17befd0ad7aa401103587633ad4612911e3a46bf"}}</script> <script src="/core/assets/vendor/jquery/jquery.min.js?v=3.7.1"></script> <script src="/core/misc/drupalSettingsLoader.js?v=10.3.1"></script> <script src="/core/misc/drupal.js?v=10.3.1"></script> <script src="/core/misc/drupal.init.js?v=10.3.1"></script> <script src="/themes/custom/coolxgames/assets/js/global.js?v=10.3.1"></script> <script src="/modules/contrib/browserclass/js/browserclass.min.js?srmz69"></script> <script src="/themes/custom/coolxgames/assets/js/detail-page.js?srmz69"></script> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-55GKNX79" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10