$().ready(function(){var gameChartX='
',gameChartO='',allFields=9,emptyFields=9,hasWinner=false,matrixFields=[]
function selectFieldX(x){if(matrixFields[x]!=='')return false;if(!hasWinner){$('#ticTacToeField'+x).html(gameChartX);removeEmptyField()};updateCurrentMatrixState();checkGameBoard();if(emptyFields===0&&!hasWinner)setWinner();return true}
function selectFieldO(x){if(matrixFields[x]===''&&!hasWinner){$('#ticTacToeField'+x).html(gameChartO);removeEmptyField()};updateCurrentMatrixState();checkGameBoard();if(emptyFields===0&&!hasWinner)setWinner()}
function createGameBoard(){matrixFields=[];emptyFields=9;hasWinner=false;renderGameBoard();updateCurrentMatrixState();selectFieldO(Math.round(Math.random()*8))}
function setWinner(){hasWinner=true}
function updateCurrentMatrixState(){for(var i=0;i";$("#ticTacToeTheGame").html(container)}
function drawVL(fields){fields.forEach(function(entry){$("#ticTacToeField"+entry).addClass('winner-vl')})}
function drawHL(fields){fields.forEach(function(entry){$("#ticTacToeField"+entry).addClass('winner-hl')})}
function drawSTL(fields){fields.forEach(function(entry){$("#ticTacToeField"+entry).addClass('winner-stl')})}
function drawSTR(fields){fields.forEach(function(entry){$("#ticTacToeField"+entry).addClass('winner-str')})}
function checkGameBoard(){if(matrixFields[0]===matrixFields[3]&&matrixFields[3]===matrixFields[6]&&matrixFields[0]===matrixFields[6]&&matrixFields[0]!==''){setWinner();drawVL([0,3,6]);return};if(matrixFields[0]===matrixFields[1]&&matrixFields[1]===matrixFields[2]&&matrixFields[0]===matrixFields[2]&&matrixFields[0]!==''){setWinner();drawHL([0,1,2]);return};if(matrixFields[1]===matrixFields[4]&&matrixFields[4]===matrixFields[7]&&matrixFields[1]===matrixFields[7]&&matrixFields[1]!==''){setWinner();drawVL([1,4,7]);return};if(matrixFields[0]===matrixFields[4]&&matrixFields[4]===matrixFields[8]&&matrixFields[0]===matrixFields[8]&&matrixFields[0]!==''){setWinner();drawSTL([0,4,8]);return};if(matrixFields[3]===matrixFields[4]&&matrixFields[4]===matrixFields[5]&&matrixFields[3]===matrixFields[5]&&matrixFields[3]!==''){setWinner();drawHL([3,4,5]);return};if(matrixFields[2]===matrixFields[5]&&matrixFields[5]===matrixFields[8]&&matrixFields[2]===matrixFields[8]&&matrixFields[2]!==''){setWinner();drawVL([2,5,8]);return};if(matrixFields[6]===matrixFields[7]&&matrixFields[7]===matrixFields[8]&&matrixFields[6]===matrixFields[8]&&matrixFields[6]!==''){setWinner();drawHL([6,7,8]);return};if(matrixFields[2]===matrixFields[4]&&matrixFields[4]===matrixFields[6]&&matrixFields[2]===matrixFields[6]&&matrixFields[2]!==''){setWinner();drawSTR([2,4,6]);return}}
function enemyPlay(){var randomMinimum=0,randomMaximum=8,selectFieldValue=Math.floor(Math.random()*(randomMaximum-randomMinimum+1))+randomMinimum;while(matrixFields[selectFieldValue]!=='')selectFieldValue=Math.floor(Math.random()*(randomMaximum-randomMinimum+1))+randomMinimum;selectFieldO(selectFieldValue)}
function init(){createGameBoard();$(document).on("click",".ticTacToeField",function(){if(!hasWinner){if(selectFieldX($(this).data('nr')))setTimeout(function(){!hasWinner&&enemyPlay()},300)}else setTimeout(function(){createGameBoard()},300)})};init()});