

{"id":145020,"date":"2025-05-07T15:19:40","date_gmt":"2025-05-07T09:49:40","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=145020"},"modified":"2025-05-07T15:19:40","modified_gmt":"2025-05-07T09:49:40","slug":"tic-tac-toe-game-using-javascript","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/","title":{"rendered":"JavaScript Project &#8211; Tic Tac Toe Game Console Version"},"content":{"rendered":"<h3>Program 1<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/\/ Project for Tic Tac Toe Game\r\n\r\nconst ps=require(\"prompt-sync\")\r\nconst prompt=ps({sigint:true})\r\n\r\n\/\/ 2 D Array (Matrix)\r\nconst board =\r\n [\r\n    [' ', ' ', ' '],\r\n    [' ', ' ', ' '],\r\n    [' ', ' ', ' ']\r\n  ];\r\n  \r\n  \r\n  function printBoard() {\r\n    \r\n    console.clear();\r\n    console.log(\"*******Welcome to Tic Tac Toe!*********\\n\");\r\n    console.log(\"-------------\");\r\n    for (let i = 0; i &lt; 3; i++) \r\n        {\r\n         console.log(`| ${board[i][0]} | ${board[i][1]} | ${board[i][2]} |`);\r\n         console.log(\"-------------\");\r\n    }\r\n  }\r\n  \r\n  function isBoardFull() {\r\n    for (let row of board) {\r\n      if (row.includes(' ')) return false;\r\n    }\r\n    return true;\r\n  }\r\n              \r\n  function checkWin(player) {           \r\n    \/\/ Rows and columns\r\n    for (let i = 0; i &lt; 3; i++) {\r\n      if (\r\n        (board[i][0] === player &amp;&amp; board[i][1] === player &amp;&amp; board[i][2] === player) ||\r\n        (board[0][i] === player &amp;&amp; board[1][i] === player &amp;&amp; board[2][i] === player)\r\n      ) return true;\r\n    }\r\n  \r\n    \/\/ Diagonals\r\n    if (\r\n      (board[0][0] === player &amp;&amp; board[1][1] === player &amp;&amp; board[2][2] === player) ||\r\n      (board[0][2] === player &amp;&amp; board[1][1] === player &amp;&amp; board[2][0] === player)\r\n    ) return true;\r\n  \r\n    return false;\r\n  }\r\n  \r\n  \r\n\r\n  \/\/ Start the game\r\n  currentPlayer = 'X'\r\n\r\n  printBoard();\r\n\r\n  while(1)\r\n  {\r\n     console.log(`Player ${currentPlayer}: enter your move (row and column: 1-3):`);\r\n     row=parseInt(prompt())\r\n     col=parseInt(prompt())\r\n     row--    \/\/ Array 0 index\r\n     col--\r\n     if (row &lt; 0 || row &gt; 2 || col &lt; 0 || col &gt; 2) \r\n        {\r\n            console.log(\"Invalid input. Try again.\\n\");\r\n            continue;\r\n        }\r\n        if (board[row][col] != ' ') \r\n            {\r\n                console.log(\"Cell already taken. Try again.\\n\");\r\n                continue;\r\n            }\r\n    \r\n            board[row][col] = currentPlayer;\r\n            printBoard();\r\n    \r\n            if (checkWin(currentPlayer))   \r\n            {\r\n                console.log(`Congrats Player ${currentPlayer} wins!\\n`);\r\n                break;\r\n            } \r\n            else if (isBoardFull()) \r\n             {\r\n                console.log(\"It's a draw!\\n\");\r\n                break;\r\n            }\r\n             else \r\n             {\r\n                currentPlayer = (currentPlayer == 'X') ? 'O' : 'X';\r\n            }\r\n        }<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Program 1 \/\/ Project for Tic Tac Toe Game const ps=require(&#8220;prompt-sync&#8221;) const prompt=ps({sigint:true}) \/\/ 2 D Array (Matrix) const board = [ [&#8216; &#8216;, &#8216; &#8216;, &#8216; &#8216;], [&#8216; &#8216;, &#8216; &#8216;, &#8216; &#8216;],&#46;&#46;&#46;<\/p>\n","protected":false},"author":581,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18979],"tags":[7758,31621,31622,34161,20845,34158,34162,22475,34159,34160],"class_list":["post-145020","post","type-post","status-publish","format-standard","hentry","category-javascript","tag-javascript","tag-javascript-practical","tag-javascript-program","tag-javascript-program-on-tic-tac-toe-game","tag-javascript-project","tag-javascript-tic-tac-toe-game","tag-javascript-tic-tac-toe-game-project","tag-tic-tac-toe-game","tag-tic-tac-toe-game-in-javascript","tag-tic-tac-toe-game-using-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JavaScript Project - Tic Tac Toe Game Console Version - DataFlair<\/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:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript Project - Tic Tac Toe Game Console Version - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Program 1 \/\/ Project for Tic Tac Toe Game const ps=require(&quot;prompt-sync&quot;) const prompt=ps({sigint:true}) \/\/ 2 D Array (Matrix) const board = [ [&#039; &#039;, &#039; &#039;, &#039; &#039;], [&#039; &#039;, &#039; &#039;, &#039; &#039;],&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-07T09:49:40+00:00\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript Project - Tic Tac Toe Game Console Version - DataFlair","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:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/","og_locale":"en_US","og_type":"article","og_title":"JavaScript Project - Tic Tac Toe Game Console Version - DataFlair","og_description":"Program 1 \/\/ Project for Tic Tac Toe Game const ps=require(\"prompt-sync\") const prompt=ps({sigint:true}) \/\/ 2 D Array (Matrix) const board = [ [' ', ' ', ' '], [' ', ' ', ' '],&#46;&#46;&#46;","og_url":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2025-05-07T09:49:40+00:00","author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/c187795dc82ab948373cca526df7c445"},"headline":"JavaScript Project &#8211; Tic Tac Toe Game Console Version","datePublished":"2025-05-07T09:49:40+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/"},"wordCount":11,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"keywords":["JavaScript","javascript practical","javascript program","javascript program on tic tac toe game","JavaScript Project","javascript tic tac toe game","javascript tic tac toe game project","tic tac toe game","tic tac toe game in javascript","tic tac toe game using javascript"],"articleSection":["JavaScript Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/","url":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/","name":"JavaScript Project - Tic Tac Toe Game Console Version - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"datePublished":"2025-05-07T09:49:40+00:00","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/tic-tac-toe-game-using-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"JavaScript Tutorial","item":"https:\/\/data-flair.training\/blogs\/category\/javascript\/"},{"@type":"ListItem","position":3,"name":"JavaScript Project &#8211; Tic Tac Toe Game Console Version"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/c187795dc82ab948373cca526df7c445","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team provides high-impact content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. We make complex concepts easy to grasp, helping learners of all levels succeed in their tech careers.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam6\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/145020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/581"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=145020"}],"version-history":[{"count":2,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/145020\/revisions"}],"predecessor-version":[{"id":145030,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/145020\/revisions\/145030"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=145020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=145020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=145020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}