var isLame = { iOS: function() { return navigator.userAgent.match(/iPhone|iPad|iPod/i); }, Opera: function() { return navigator.userAgent.match(/Opera/i); }, Windows: function() { return navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i) || navigator.appName.match(/Microsoft|Explorer|IE/i); }, any: function() { return (isLame.iOS() || isLame.Opera() || isLame.Windows()); } }; if ( isLame.any() ) { document.getElementById("ham").removeAttribute("tabindex");document.getElementById("ham").removeAttribute("onblur");document.getElementById("ham").removeAttribute("onfocusout"); //alert(navigator.userAgent) } var board = [] var i = Number(i) var j, a, error,xmove, omove, xwin, owin, draw, start; var xwin=0, owin=0, draw=0, bcount, endgame = false; for (i=1; i<10; i++) board[i] = i rows = 4 columns = 3 function drawboard(ary){ document.getElementById("tic").innerHTML = "" str = "" str += '' for(p = 1, q=1; p < rows; p++){ str += '' for (j = 0; j < columns; q++,j++){ str += ''; } str += '' } str += '
' +ary[q]+'
' document.getElementById("tic").innerHTML =str } function score(){ document.getElementById("score").innerHTML="" var score = "
X Wins = " + xwin + "
O Wins = " + owin + "
Draws =  " + draw document.getElementById("score").innerHTML=score } drawboard(board); score(); var turn = "X" var cellfunc = [ function cell0(){}, function cell1(){ if (board[1] == 1 && endgame == false){ board[1] = turn; document.getElementById("cell1").innerHTML = turn; document.getElementById("cell1").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }}, function cell2(){ if (board[2] == 2 && endgame == false){ board[2] = turn; document.getElementById("cell2").innerHTML = turn; document.getElementById("cell2").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }}, function cell3(){ if (board[3] == 3 && endgame == false){ board[3] = turn; document.getElementById("cell3").innerHTML = turn; document.getElementById("cell3").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }}, function cell4(){ if (board[4] == 4 && endgame == false){ board[4] = turn; document.getElementById("cell4").innerHTML = turn; document.getElementById("cell4").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }}, function cell5(){ if (board[5] == 5 && endgame == false){ board[5] = turn; document.getElementById("cell5").innerHTML = turn; document.getElementById("cell5").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }}, function cell6(){ if (board[6] == 6 && endgame == false){ board[6] = turn; document.getElementById("cell6").innerHTML = turn; document.getElementById("cell6").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }}, function cell7(){ if (board[7] == 7 && endgame == false){ board[7] = turn; document.getElementById("cell7").innerHTML = turn; document.getElementById("cell7").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }}, function cell8(){ if (board[8] == 8 && endgame == false){ board[8] = turn; document.getElementById("cell8").innerHTML = turn; document.getElementById("cell8").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }}, function cell9(){ if (board[9] == 9 && endgame == false){ board[9] = turn; document.getElementById("cell9").innerHTML = turn; document.getElementById("cell9").style.color = "#00007A"; changeTurn(); checkO(); checkX(); draw1(); }} ]; function changeTurn(){ if(turn == 'X'){ turn = 'O'; } else { turn = 'X'; } } function game(){ if (start == true){removeevent(); start = false; reset(); drawboard(board);} start = true document.getElementById("level").innerHTML = '

LEVEL: MULTIPLAYER

' endgame = false; turn = "X" reset(); document.getElementById("cell1").onclick = cellfunc[1]; document.getElementById("cell2").onclick = cellfunc[2]; document.getElementById("cell3").onclick = cellfunc[3]; document.getElementById("cell4").onclick = cellfunc[4]; document.getElementById("cell5").onclick = cellfunc[5]; document.getElementById("cell6").onclick = cellfunc[6]; document.getElementById("cell7").onclick = cellfunc[7]; document.getElementById("cell8").onclick = cellfunc[8]; document.getElementById("cell9").onclick = cellfunc[9]; document.getElementById("cell1").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) document.getElementById("cell2").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) document.getElementById("cell3").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) document.getElementById("cell4").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) document.getElementById("cell5").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) document.getElementById("cell6").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) document.getElementById("cell7").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) document.getElementById("cell8").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) document.getElementById("cell9").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';}) } function game1(){ if (start == true){removeevent(); start = false; reset(); drawboard(board);} start = true document.getElementById("level").innerHTML = '

LEVEL: EASY

' turn = "X" endgame = false; reset(); document.getElementById("cell1").onclick = cellfunc[1]; document.getElementById("cell2").onclick = cellfunc[2]; document.getElementById("cell3").onclick = cellfunc[3]; document.getElementById("cell4").onclick = cellfunc[4]; document.getElementById("cell5").onclick = cellfunc[5]; document.getElementById("cell6").onclick = cellfunc[6]; document.getElementById("cell7").onclick = cellfunc[7]; document.getElementById("cell8").onclick = cellfunc[8]; document.getElementById("cell9").onclick = cellfunc[9]; document.getElementById("cell1").addEventListener("click", function error(){;ogame1();}) document.getElementById("cell2").addEventListener("click", function error(){;ogame1();}) document.getElementById("cell3").addEventListener("click", function error(){;ogame1();}) document.getElementById("cell4").addEventListener("click", function error(){;ogame1();}) document.getElementById("cell5").addEventListener("click", function error(){;ogame1();}) document.getElementById("cell6").addEventListener("click", function error(){;ogame1();}) document.getElementById("cell7").addEventListener("click", function error(){;ogame1();}) document.getElementById("cell8").addEventListener("click", function error(){;ogame1();}) document.getElementById("cell9").addEventListener("click", function error(){;ogame1();}) function ogame1(){ if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

' if (endgame == false){ error = 1; while (error == 1){ error = 0; omove = omovenum(1,9); if (omove < 1 || omove > 9) error = 1; if (isNaN(board[omove]) == true) error = 1; } document.getElementById("cell"+omove).style.color = " #19FF19"; document.getElementById("cell"+omove).innerHTML = turn; board[omove] = turn changeTurn(); checkO(); checkO(); draw1(); if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

' } } } function game2(){ if (start == true){removeevent(); start = false; reset(); drawboard(board);} start = true document.getElementById("level").innerHTML = '

LEVEL: MEDIUM

' turn = "X" endgame = false; reset(); document.getElementById("cell1").onclick = cellfunc[1]; document.getElementById("cell2").onclick = cellfunc[2]; document.getElementById("cell3").onclick = cellfunc[3]; document.getElementById("cell4").onclick = cellfunc[4]; document.getElementById("cell5").onclick = cellfunc[5]; document.getElementById("cell6").onclick = cellfunc[6]; document.getElementById("cell7").onclick = cellfunc[7]; document.getElementById("cell8").onclick = cellfunc[8]; document.getElementById("cell9").onclick = cellfunc[9]; document.getElementById("cell1").addEventListener("click", function error(){;ogame2();}) document.getElementById("cell2").addEventListener("click", function error(){;ogame2();}) document.getElementById("cell3").addEventListener("click", function error(){;ogame2();}) document.getElementById("cell4").addEventListener("click", function error(){;ogame2();}) document.getElementById("cell5").addEventListener("click", function error(){;ogame2();}) document.getElementById("cell6").addEventListener("click", function error(){;ogame2();}) document.getElementById("cell7").addEventListener("click", function error(){;ogame2();}) document.getElementById("cell8").addEventListener("click", function error(){;ogame2();}) document.getElementById("cell9").addEventListener("click", function error(){;ogame2();}) function ogame2(){ if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

' if (endgame == false && turn == "O"){ error = 1; while (error == 1){ error = 0; if (board[1] == "X" && board[2] == "X" && board[3] == 3) {omove = 3; break;}//missing right end (horizontal) if (board[4] == "X" && board[5] == "X" && board[6] == 6) {omove = 6; break;} if (board[7] == "X" && board[8] == "X" && board[9] == 9) {omove = 9; break;} if (board[1] == "X" && board[3] == "X" && board[2] == 2) {omove = 2; break;}//missing middle (horizontal) if (board[4] == "X" && board[6] == "X" && board[5] == 5) {omove = 5; break;} if (board[7] == "X" && board[9] == "X" && board[8] == 8) {omove = 8; break;} if (board[2] == "X" && board[3] == "X" && board[1] == 1) {omove = 1; break;}//missing left end (horizontal) if (board[5] == "X" && board[6] == "X" && board[4] == 4) {omove = 4; break;} if (board[8] == "X" && board[9] == "X" && board[7] == 7) {omove = 7; break;} if (board[1] == "X" && board[4] == "X" && board[7] == 7) {omove = 7; break;}//missing bottom one (vertical) if (board[2] == "X" && board[5] == "X" && board[8] == 8) {omove = 8; break;} if (board[3] == "X" && board[6] == "X" && board[9] == 9) {omove = 9; break;} if (board[1] == "X" && board[7] == "X" && board[4] == 4) {omove = 4; break;}//missing middle one (vertical) if (board[2] == "X" && board[8] == "X" && board[5] == 5) {omove = 5; break;} if (board[3] == "X" && board[9] == "X" && board[6] == 6) {omove = 6; break;} if (board[4] == "X" && board[7] == "X" && board[1] == 1) {omove = 1; break;}//missing top one (vertical) if (board[5] == "X" && board[8] == "X" && board[2] == 2) {omove = 2; break;} if (board[6] == "X" && board[9] == "X" && board[3] == 3) {omove = 3; break;} if (board[1] == "X" && board[5] == "X" && board[9] == 9) {omove = 9; break;}//missing bottom (diagnal)\ if (board[1] == "X" && board[9] == "X" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal)\ if (board[5] == "X" && board[9] == "X" && board[1] == 1) {omove = 1; break;}//missing top (diagnal) \ if (board[3] == "X" && board[5] == "X" && board[7] == 7) {omove = 7; break;}//missing bottom (diagnal) / if (board[3] == "X" && board[7] == "X" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal) / if (board[5] == "X" && board[7] == "X" && board[3] == 3) {omove = 3; break;}//missing top (diagnal) / else {omove = omovenum(1,9);} if (omove < 1 || omove > 9) error = 1; if (isNaN(board[omove]) == true) error = 1; } document.getElementById("cell"+omove).style.color = " #19FF19"; document.getElementById("cell"+omove).innerHTML = turn; board[omove] = turn changeTurn(); checkO(); checkO(); draw1(); if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

' } } } function game3(){ if (start == true){removeevent(); start = false; reset(); drawboard(board);} start = true document.getElementById("level").innerHTML = '

LEVEL: HARD

' turn = "X" endgame = false; reset(); document.getElementById("cell1").onclick = cellfunc[1]; document.getElementById("cell2").onclick = cellfunc[2]; document.getElementById("cell3").onclick = cellfunc[3]; document.getElementById("cell4").onclick = cellfunc[4]; document.getElementById("cell5").onclick = cellfunc[5]; document.getElementById("cell6").onclick = cellfunc[6]; document.getElementById("cell7").onclick = cellfunc[7]; document.getElementById("cell8").onclick = cellfunc[8]; document.getElementById("cell9").onclick = cellfunc[9]; document.getElementById("cell1").addEventListener("click", function error(){;ogame3();}) document.getElementById("cell2").addEventListener("click", function error(){;ogame3();}) document.getElementById("cell3").addEventListener("click", function error(){;ogame3();}) document.getElementById("cell4").addEventListener("click", function error(){;ogame3();}) document.getElementById("cell5").addEventListener("click", function error(){;ogame3();}) document.getElementById("cell6").addEventListener("click", function error(){;ogame3();}) document.getElementById("cell7").addEventListener("click", function error(){;ogame3();}) document.getElementById("cell8").addEventListener("click", function error(){;ogame3();}) document.getElementById("cell9").addEventListener("click", function error(){;ogame3();}) function ogame3(){ if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

' if (endgame == false && turn == "O"){ error = 1; while (error == 1){ error = 0; if (board[1] == "O" && board[2] == "O" && board[3] == 3) {omove = 3; break;}//missing right end (horizontal) if (board[4] == "O" && board[5] == "O" && board[6] == 6) {omove = 6; break;} if (board[7] == "O" && board[8] == "O" && board[9] == 9) {omove = 9; break;} if (board[1] == "O" && board[3] == "O" && board[2] == 2) {omove = 2; break;}//missing middle (horizontal) if (board[4] == "O" && board[6] == "O" && board[5] == 5) {omove = 5; break;} if (board[7] == "O" && board[9] == "O" && board[8] == 8) {omove = 8; break;} if (board[2] == "O" && board[3] == "O" && board[1] == 1) {omove = 1; break;}//missing left end (horizontal) if (board[5] == "O" && board[6] == "O" && board[4] == 4) {omove = 4; break;} if (board[8] == "O" && board[9] == "O" && board[7] == 7) {omove = 7; break;} if (board[1] == "O" && board[4] == "O" && board[7] == 7) {omove = 7; break;}//missing bottom one (vertical) if (board[2] == "O" && board[5] == "O" && board[8] == 8) {omove = 8; break;} if (board[3] == "O" && board[6] == "O" && board[9] == 9) {omove = 9; break;} if (board[1] == "O" && board[7] == "O" && board[4] == 4) {omove = 4; break;}//missing middle one (vertical) if (board[2] == "O" && board[8] == "O" && board[5] == 5) {omove = 5; break;} if (board[3] == "O" && board[9] == "O" && board[6] == 6) {omove = 6; break;} if (board[4] == "O" && board[7] == "O" && board[1] == 1) {omove = 1; break;}//missing top one (vertical) if (board[5] == "O" && board[8] == "O" && board[2] == 2) {omove = 2; break;} if (board[6] == "O" && board[9] == "O" && board[3] == 3) {omove = 3; break;} if (board[1] == "O" && board[5] == "O" && board[9] == 9) {omove = 9; break;}//missing bottom (diagnal)\ if (board[1] == "O" && board[9] == "O" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal)\ if (board[5] == "O" && board[9] == "O" && board[1] == 1) {omove = 1; break;}//missing top (diagnal) \ if (board[3] == "O" && board[5] == "O" && board[7] == 7) {omove = 7; break;}//missing bottom (diagnal) / if (board[3] == "O" && board[7] == "O" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal) / if (board[5] == "O" && board[7] == "O" && board[3] == 3) {omove = 3; break;}//missing top (diagnal) / if (board[1] == "X" && board[2] == "X" && board[3] == 3) {omove = 3; break;}//missing right end (horizontal) if (board[4] == "X" && board[5] == "X" && board[6] == 6) {omove = 6; break;} if (board[7] == "X" && board[8] == "X" && board[9] == 9) {omove = 9; break;} if (board[1] == "X" && board[3] == "X" && board[2] == 2) {omove = 2; break;}//missing middle (horizontal) if (board[4] == "X" && board[6] == "X" && board[5] == 5) {omove = 5; break;} if (board[7] == "X" && board[9] == "X" && board[8] == 8) {omove = 8; break;} if (board[2] == "X" && board[3] == "X" && board[1] == 1) {omove = 1; break;}//missing left end (horizontal) if (board[5] == "X" && board[6] == "X" && board[4] == 4) {omove = 4; break;} if (board[8] == "X" && board[9] == "X" && board[7] == 7) {omove = 7; break;} if (board[1] == "X" && board[4] == "X" && board[7] == 7) {omove = 7; break;}//missing bottom one (vertical) if (board[2] == "X" && board[5] == "X" && board[8] == 8) {omove = 8; break;} if (board[3] == "X" && board[6] == "X" && board[9] == 9) {omove = 9; break;} if (board[1] == "X" && board[7] == "X" && board[4] == 4) {omove = 4; break;}//missing middle one (vertical) if (board[2] == "X" && board[8] == "X" && board[5] == 5) {omove = 5; break;} if (board[3] == "X" && board[9] == "X" && board[6] == 6) {omove = 6; break;} if (board[4] == "X" && board[7] == "X" && board[1] == 1) {omove = 1; break;}//missing top one (vertical) if (board[5] == "X" && board[8] == "X" && board[2] == 2) {omove = 2; break;} if (board[6] == "X" && board[9] == "X" && board[3] == 3) {omove = 3; break;} if (board[1] == "X" && board[5] == "X" && board[7] == 7) {omove = 7; break;}//missing bottom (diagnal)\ if (board[1] == "X" && board[9] == "X" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal)\ if (board[5] == "X" && board[9] == "X" && board[1] == 1) {omove = 1; break;}//missing top (diagnal) \ if (board[3] == "X" && board[5] == "X" && board[7] == 7) {omove = 7; break;}//missing bottom (diagnal) / if (board[3] == "X" && board[7] == "X" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal) / if (board[5] == "X" && board[7] == "X" && board[3] == 3) {omove = 3; break;}//missing top (diagnal) / else {omove = omovenum(1,9);} if (omove < 1 || omove > 9) error = 1; if (isNaN(board[omove]) == true) error = 1; } document.getElementById("cell"+omove).style.color = " #19FF19"; document.getElementById("cell"+omove).innerHTML = turn; board[omove] = turn changeTurn(); checkO(); checkO(); draw1(); if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

' } } } function game4(){ if (start == true){removeevent(); start = false; reset(); drawboard(board);} start = true document.getElementById("level").innerHTML = '

LEVEL: EXPERT

' turn = "X" var turnnum = 1 endgame = false; reset(); if (endgame == false){ document.getElementById("cell1").onclick = cellfunc[1]; document.getElementById("cell2").onclick = cellfunc[2]; document.getElementById("cell3").onclick = cellfunc[3]; document.getElementById("cell4").onclick = cellfunc[4]; document.getElementById("cell5").onclick = cellfunc[5]; document.getElementById("cell6").onclick = cellfunc[6]; document.getElementById("cell7").onclick = cellfunc[7]; document.getElementById("cell8").onclick = cellfunc[8]; document.getElementById("cell9").onclick = cellfunc[9]; document.getElementById("cell1").addEventListener("click", function error(){;ogame4();}) document.getElementById("cell2").addEventListener("click", function error(){;ogame4();}) document.getElementById("cell3").addEventListener("click", function error(){;ogame4();}) document.getElementById("cell4").addEventListener("click", function error(){;ogame4();}) document.getElementById("cell5").addEventListener("click", function error(){;ogame4();}) document.getElementById("cell6").addEventListener("click", function error(){;ogame4();}) document.getElementById("cell7").addEventListener("click", function error(){;ogame4();}) document.getElementById("cell8").addEventListener("click", function error(){;ogame4();}) document.getElementById("cell9").addEventListener("click", function error(){;ogame4();}) } function ogame4(){ if (endgame == true) document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

' else if (endgame == false && turn == "O"){ error = 1; while (error == 1){ error = 0; if (board[1] == "O" && board[2] == "O" && board[3] == 3) {omove = 3; break;}//missing right end (horizontal) if (board[4] == "O" && board[5] == "O" && board[6] == 6) {omove = 6; break;} if (board[7] == "O" && board[8] == "O" && board[9] == 9) {omove = 9; break;} if (board[1] == "O" && board[3] == "O" && board[2] == 2) {omove = 2; break;}//missing middle (horizontal) if (board[4] == "O" && board[6] == "O" && board[5] == 5) {omove = 5; break;} if (board[7] == "O" && board[9] == "O" && board[8] == 8) {omove = 8; break;} if (board[2] == "O" && board[3] == "O" && board[1] == 1) {omove = 1; break;}//missing left end (horizontal) if (board[5] == "O" && board[6] == "O" && board[4] == 4) {omove = 4; break;} if (board[8] == "O" && board[9] == "O" && board[7] == 7) {omove = 7; break;} if (board[1] == "O" && board[4] == "O" && board[7] == 7) {omove = 7; break;}//missing bottom one (vertical) if (board[2] == "O" && board[5] == "O" && board[8] == 8) {omove = 8; break;} if (board[3] == "O" && board[6] == "O" && board[9] == 9) {omove = 9; break;} if (board[1] == "O" && board[7] == "O" && board[4] == 4) {omove = 4; break;}//missing middle one (vertical) if (board[2] == "O" && board[8] == "O" && board[5] == 5) {omove = 5; break;} if (board[3] == "O" && board[9] == "O" && board[6] == 6) {omove = 6; break;} if (board[4] == "O" && board[7] == "O" && board[1] == 1) {omove = 1; break;}//missing top one (vertical) if (board[5] == "O" && board[8] == "O" && board[2] == 2) {omove = 2; break;} if (board[6] == "O" && board[9] == "O" && board[3] == 3) {omove = 3; break;} if (board[1] == "O" && board[5] == "O" && board[9] == 9) {omove = 9; break;}//missing bottom (diagnal)\ if (board[1] == "O" && board[9] == "O" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal)\ if (board[5] == "O" && board[9] == "O" && board[1] == 1) {omove = 1; break;}//missing top (diagnal) \ if (board[3] == "O" && board[5] == "O" && board[7] == 7) {omove = 7; break;}//missing bottom (diagnal) / if (board[3] == "O" && board[7] == "O" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal) / if (board[5] == "O" && board[7] == "O" && board[3] == 3) {omove = 3; break;}//missing top (diagnal) / if (board[1] == "X" && board[2] == "X" && board[3] == 3) {omove = 3; break;}//missing right end (horizontal) if (board[4] == "X" && board[5] == "X" && board[6] == 6) {omove = 6; break;} if (board[7] == "X" && board[8] == "X" && board[9] == 9) {omove = 9; break;} if (board[1] == "X" && board[3] == "X" && board[2] == 2) {omove = 2; break;}//missing middle (horizontal) if (board[4] == "X" && board[6] == "X" && board[5] == 5) {omove = 5; break;} if (board[7] == "X" && board[9] == "X" && board[8] == 8) {omove = 8; break;} if (board[2] == "X" && board[3] == "X" && board[1] == 1) {omove = 1; break;}//missing left end (horizontal) if (board[5] == "X" && board[6] == "X" && board[4] == 4) {omove = 4; break;} if (board[8] == "X" && board[9] == "X" && board[7] == 7) {omove = 7; break;} if (board[1] == "X" && board[4] == "X" && board[7] == 7) {omove = 7; break;}//missing bottom one (vertical) if (board[2] == "X" && board[5] == "X" && board[8] == 8) {omove = 8; break;} if (board[3] == "X" && board[6] == "X" && board[9] == 9) {omove = 9; break;} if (board[1] == "X" && board[7] == "X" && board[4] == 4) {omove = 4; break;}//missing middle one (vertical) if (board[2] == "X" && board[8] == "X" && board[5] == 5) {omove = 5; break;} if (board[3] == "X" && board[9] == "X" && board[6] == 6) {omove = 6; break;} if (board[4] == "X" && board[7] == "X" && board[1] == 1) {omove = 1; break;}//missing top one (vertical) if (board[5] == "X" && board[8] == "X" && board[2] == 2) {omove = 2; break;} if (board[6] == "X" && board[9] == "X" && board[3] == 3) {omove = 3; break;} if (board[1] == "X" && board[5] == "X" && board[9] == 9) {omove = 9; break;}//missing bottom (diagnal)\ if (board[1] == "X" && board[9] == "X" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal)\ if (board[5] == "X" && board[9] == "X" && board[1] == 1) {omove = 1; break;}//missing top (diagnal) \ if (board[3] == "X" && board[5] == "X" && board[7] == 7) {omove = 7; break;}//missing bottom (diagnal) / if (board[3] == "X" && board[7] == "X" && board[5] == 5) {omove = 5; break;}//missing middle (diagnal) / if (board[5] == "X" && board[7] == "X" && board[3] == 3) {omove = 3; break;}//missing top (diagnal) / //alert(turnnum) if (turnnum == 1 ){ //alert(turnnum+" Turn"); if (board[1] == "X" || board[3] == "X" || board[7] == "X" || board[9] == "X") {omove = 5; break;}//first turn if (board[5] == "X" ) {omove = 1; break;}//first turn if (board[2] == "X" || board[6] == "X" || board[8] == "X" || board[4] == "X") {omove = 5; break;} else {omove = omovenum(1,9);} if (omove < 1 || omove > 9) error = 1; if (isNaN(board[omove]) == true) error = 1; } if (turnnum == 2){ //alert(turnnum+" Turn"); if (board[5] == "X" && board[9] == "X" && board[3] == 3) {omove = 3; break;} if (board[4] == "X" && board[3] == "X" && board[7] == 7) {omove = 7; break;} if (board[4] == "X" && board[8] == "X" && board[7] == 7) {omove = 7; break;} if (board[6] == "X" && board[8] == "X" && board[9] == 9) {omove = 9; break;} if (board[1] == "X" && board[8] == "X" && board[4] == 4) {omove = 4; break;} if (board[2] == "X" && board[4] == "X" && board[1] == 1) {omove = 1; break;} if (board[2] == "X" && board[6] == "X" && board[3] == 3) {omove = 3; break;} if (board[2] == "X" && board[9] == "X" && board[6] == 6) {omove = 3; break;} if (board[1] == "X" && board[6] == "X" && board[4] == 4) {omove = 3; break;} if (board[1] == "X" && board[2] == 2) {omove = 2; break;} if (board[3] == "X" && board[4] == 4) {omove = 4; break;} if (board[7] == "X" && board[6] == 6) {omove = 6; break;} if (board[9] == "X" && board[8] == 8) {omove = 8; break;} else {omove = omovenum(1,9);} if (omove < 1 || omove > 9) error = 1; if (isNaN(board[omove]) == true) error = 1; } if (turnnum == 3){ //alert(turnnum+" Turn"); if (board[4] == "X" && board[6] == "X" && board[9] == 9) {omove = 9; break;} if (board[9] == "X" && board[4] == "X" && board[2] =="X" && board[1] == 1) {omove = 1; break;} else {omove = omovenum(1,9);} if (omove < 1 || omove > 9) error = 1; if (isNaN(board[omove]) == true) error = 1; } else {omove = omovenum(1,9);} //alert(omove+" omove"); if (omove < 1 || omove > 9) error = 1; if (isNaN(board[omove]) == true) error = 1; } //alert(omove); document.getElementById("cell"+omove).style.color = " #19FF19"; document.getElementById("cell"+omove).innerHTML = turn; board[omove] = turn turnnum++ //alert("after turn "+turnnum) changeTurn(); checkO(); checkO(); draw1(); if (endgame == true) {document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

'; error = 0;} } } } function omovenum(min,max){ return Math.floor(Math.random()*(max-min+1)+min); }; function reset(){ for (i=1; i<10; i++) board[i] = i; document.getElementById("cell1").innerHTML = 1 document.getElementById("cell2").innerHTML = 2 document.getElementById("cell3").innerHTML = 3 document.getElementById("cell4").innerHTML = 4 document.getElementById("cell5").innerHTML = 5 document.getElementById("cell6").innerHTML = 6 document.getElementById("cell7").innerHTML = 7 document.getElementById("cell8").innerHTML = 8 document.getElementById("cell9").innerHTML = 9 } function draw1(){ if (endgame == false){ for (i=0, bcount=0; i<=9;i++)if (isNaN(board[i]) == false)bcount++; if(bcount==0){alert("Draw"); endgame = true; draw++; if (endgame == true) { document.getElementById("level").innerHTML = '

CHOOSE A LEVEL

';score();removeevent();} } } } function checkX(){ if (endgame == false){ if (board[1] == "X" && board[2] == "X" && board[3] == "X"){ alert("X wins!"); endgame = true; xwin++;score();removeevent();} if (board[4] == "X" && board[5] == "X" && board[6] == "X"){ alert("X wins!"); endgame = true; xwin++;score();removeevent();} if (board[7] == "X" && board[8] == "X" && board[9] == "X"){ alert("X wins!"); endgame = true; xwin++;score();removeevent();} if (board[1] == "X" && board[5] == "X" && board[9] == "X"){ alert("X wins!"); endgame = true; xwin++;score();removeevent();} if (board[3] == "X" && board[5] == "X" && board[7] == "X"){ alert("X wins!"); endgame = true; xwin++;score();removeevent();} if (board[1] == "X" && board[4] == "X" && board[7] == "X"){ alert("X wins!"); endgame = true; xwin++;score();removeevent();} if (board[2] == "X" && board[5] == "X" && board[8] == "X"){ alert("X wins!"); endgame = true; xwin++;score();removeevent();} if (board[3] == "X" && board[6] == "X" && board[9] == "X"){ alert("X wins!"); endgame = true; xwin++;score();removeevent();} //if (endgame == true){ removeevent();alert("endgame "+endgame +" checkx")} } } function checkO(){ if (endgame == false){ if (board[1] == "O" && board[2] == "O" && board[3] == "O"){ alert("O wins!"); endgame = true; owin++;score();removeevent();} if (board[4] == "O" && board[5] == "O" && board[6] == "O"){ alert("O wins!"); endgame = true; owin++;score();removeevent();} if (board[7] == "O" && board[8] == "O" && board[9] == "O"){ alert("O wins!"); endgame = true; owin++;score();removeevent();} if (board[1] == "O" && board[5] == "O" && board[9] == "O"){ alert("O wins!"); endgame = true; owin++;score();removeevent();} if (board[3] == "O" && board[5] == "O" && board[7] == "O"){ alert("O wins!"); endgame = true; owin++;score();removeevent();} if (board[1] == "O" && board[4] == "O" && board[7] == "O"){ alert("O wins!"); endgame = true; owin++;score();removeevent();} if (board[2] == "O" && board[5] == "O" && board[8] == "O"){ alert("O wins!"); endgame = true; owin++;score();removeevent();} if (board[3] == "O" && board[6] == "O" && board[9] == "O"){ alert("O wins!"); endgame = true; owin++;score();removeevent();} //if (endgame == true) { removeevent();alert("endgame "+endgame +" checkO")} } } function removeevent(){ document.getElementById("cell1").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell2").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell3").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell4").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell5").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell6").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell7").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell8").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell9").removeEventListener("click", function error(){;ogame4();}) document.getElementById("cell1").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell2").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell3").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell4").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell5").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell6").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell7").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell8").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell9").removeEventListener("click", function error(){;ogame3();}) document.getElementById("cell1").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell2").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell3").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell4").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell5").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell6").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell7").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell8").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell9").removeEventListener("click", function error(){;ogame2();}) document.getElementById("cell1").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell2").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell3").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell4").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell5").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell6").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell7").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell8").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell9").removeEventListener("click", function error(){;ogame1();}) document.getElementById("cell1").removeEventListener("click", function error(){;ogame();}) document.getElementById("cell2").removeEventListener("click", function error(){;ogame();}) document.getElementById("cell3").removeEventListener("click", function error(){;ogame();}) document.getElementById("cell4").removeEventListener("click", function error(){;ogame();}) document.getElementById("cell5").removeEventListener("click", function error(){;ogame();}) document.getElementById("cell6").removeEventListener("click", function error(){;ogame();}) document.getElementById("cell7").removeEventListener("click", function error(){;ogame();}) document.getElementById("cell8").removeEventListener("click", function error(){;ogame();}) document.getElementById("cell9").removeEventListener("click", function error(){;ogame();}) }