NastySwipy

Tic-Tac-Toe

Jun 12th, 2020
1,818
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function ticToc(input) {
  2.  
  3.     let ticToc = [
  4.         [false, false, false],
  5.         [false, false, false],
  6.         [false, false, false]
  7.     ];
  8.  
  9.     function checkTicToc() {
  10.         let isOver = '';
  11.         for (let s = 0; s < ticToc.length; s++) {
  12.             if (!ticToc[s].includes(false)) {
  13.                 isOver += 'Q';
  14.             } else {
  15.                 isOver += 'G';
  16.             }
  17.         }
  18.         if (isOver === 'QQQ') {
  19.             return 'QQQ';
  20.         }
  21.  
  22.         for (let i = 0; i < ticToc.length; i++) {
  23.             let check = '';
  24.             for (let h = 0; h < ticToc.length; h++) {
  25.                 check += ticToc[i][h];
  26.             }
  27.             if (check === 'XXX') {
  28.                 return 'X';
  29.             } else if (check === 'OOO') {
  30.                 return 'O';
  31.             } else {
  32.                 check = '';
  33.             }
  34.             for (let v = 0; v < ticToc.length; v++) {
  35.                 check += ticToc[v][i];
  36.             }
  37.             if (check === 'XXX') {
  38.                 return 'X';
  39.             } else if (check === 'OOO') {
  40.                 return 'O';
  41.             } else {
  42.                 check = '';
  43.             }
  44.             for (let dl = 0; dl < ticToc.length; dl++) {
  45.                 check += ticToc[dl][dl];
  46.             }
  47.             if (check === 'XXX') {
  48.                 return 'X';
  49.             } else if (check === 'OOO') {
  50.                 return 'O';
  51.             } else {
  52.                 check = '';
  53.             }
  54.             for (let dr = ticToc.length - 1; dr >= 0; dr--) {
  55.                 check += ticToc[dr][dr];
  56.             }
  57.             if (check === 'XXX') {
  58.                 return 'X';
  59.             } else if (check === 'OOO') {
  60.                 return 'O';
  61.             } else {
  62.                 check = '';
  63.             }
  64.         }
  65.         return '';
  66.     }
  67.  
  68.     function changePlayerTurn() {
  69.         if (playerTurn === 'X') {
  70.             return 'O';
  71.         } else {
  72.             return 'X';
  73.         }
  74.     }
  75.  
  76.     let playerTurn = 'X';
  77.     for (let i = 0; i < input.length; i++) {
  78.         let win = checkTicToc();
  79.         if(win === 'QQQ') {
  80.             console.log('The game ended! Nobody wins :(');
  81.             for (let j = 0; j < ticToc.length; j++) {
  82.                 console.log(ticToc[j].join('\t'));
  83.             }
  84.             break;
  85.         }
  86.         if (win) {
  87.             console.log(`Player ${win} wins!`);
  88.             for (let j = 0; j < ticToc.length; j++) {
  89.                 console.log(ticToc[j].join('\t'));
  90.             }
  91.             break;
  92.         }
  93.         let player = input[i].split(' ').map(Number);
  94.         if(ticToc[player[0]][player[1]]) {
  95.             console.log('This place is already taken. Please choose another!');
  96.         } else {
  97.             ticToc[player[0]][player[1]] = playerTurn;
  98.             playerTurn = changePlayerTurn();
  99.         }
  100.     }
  101.     // if (!checkTicToc()) {
  102.     //     console.log('The game ended! Nobody wins :(');
  103.     //     for (let j = 0; j < ticToc.length; j++) {
  104.     //         console.log(ticToc[j].join('\t'));
  105.     //     }
  106.     // }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment