738 lines
36 KiB
HTML
Executable File
738 lines
36 KiB
HTML
Executable File
<html>
|
|
<head>
|
|
<link rel="icon" type="image/ico" href="tictac.ico">
|
|
<link rel="stylesheet" type="text/css" href="menu.css" />
|
|
<LINK rel="stylesheet" type="text/css" href="CSS_ANIMATION.CSS" >
|
|
|
|
<title> Tic Tac Toe Touch</title>
|
|
<style>
|
|
|
|
body {
|
|
background:
|
|
-webkit-linear-gradient(45deg, hsla(0, 0%, 97%, 1) 0%, hsla(0, 0%, 97%, 0) 70%),
|
|
-webkit-linear-gradient(315deg, hsla(0, 0%, 38%, 1) 10%, hsla(0, 0%, 38%, 0) 80%),
|
|
-webkit-linear-gradient(225deg, hsla(0, 0%, 63%, 1) 10%, hsla(0, 0%, 63%, 0) 80%),
|
|
-webkit-linear-gradient(135deg, hsla(0, 0%, 29%, 1) 100%, hsla(0, 0%, 29%, 0) 70%);
|
|
background:
|
|
linear-gradient(45deg, hsla(0, 0%, 97%, 1) 0%, hsla(0, 0%, 97%, 0) 70%),
|
|
linear-gradient(135deg, hsla(0, 0%, 38%, 1) 10%, hsla(0, 0%, 38%, 0) 80%),
|
|
linear-gradient(225deg, hsla(0, 0%, 63%, 1) 10%, hsla(0, 0%, 63%, 0) 80%),
|
|
linear-gradient(315deg, hsla(0, 0%, 29%, 1) 100%, hsla(0, 0%, 29%, 0) 70%);
|
|
}
|
|
|
|
|
|
#game {z-index:1;background-color:#E60000;
|
|
text-align: center;
|
|
box-shadow: 5px 5px 5px #888888;
|
|
-webkit-animation: rubberBand 1s; /* Chrome, Safari, Opera */
|
|
animation: rubberBand 1s;
|
|
}
|
|
|
|
|
|
|
|
#button{z-index:2;text-align: center}
|
|
#score{text-align: center;
|
|
color:#1A1A1A}
|
|
#level{text-align: center}
|
|
.t{color:white;}
|
|
.t2{color:red;}
|
|
#words{text-align:center;}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<script src="menu.js"></script>
|
|
<div id="menu" onclick="slideout()" ><img id='bars' src='3bar.png' /></div>
|
|
<div id="ham" tabindex="0" onblur="closemenu1()" class="ham-menu">
|
|
<ul>
|
|
<li><a href="index.html">Home</a></li>
|
|
<br />
|
|
<li><a href="tictac.html">Tic Tac Touch</a></li>
|
|
<br />
|
|
<li><a href="bingo.html">Bingo!</a></li>
|
|
<br />
|
|
<li><a href="subwaytemps.html">Subway Temperatures</a></li>
|
|
<br />
|
|
</ul>
|
|
</div>
|
|
|
|
</br>
|
|
|
|
</br>
|
|
</br>
|
|
<div id = "button">
|
|
<button onclick="game();">Multiplayer</button> <button onclick="game1();">Easy</button> <button onclick="game2();">Medium</button> <button onclick="game3();">Hard</button> <button onclick="game4();">Expert</button>
|
|
</br>
|
|
|
|
</div>
|
|
</br>
|
|
</br>
|
|
|
|
<div id= "tic">
|
|
|
|
|
|
</div>
|
|
<div id = "score">
|
|
|
|
</div>
|
|
<div id= "level">
|
|
<h1> CHOOSE A LEVEL</h1>
|
|
</div>
|
|
|
|
|
|
<pre id="words">
|
|
"Our home-amusements by the warm peat-fire
|
|
At evening, when with pencil, and smooth slate
|
|
In square divisions parcelled out and all
|
|
With crosses and with cyphers scribbled o'er,
|
|
We schemed and puzzled, head opposed to head
|
|
In strife too humble to be named in verse:
|
|
Or round the naked table, snow-white deal,
|
|
Cherry or maple, sate in close array,
|
|
And to the combat,
|
|
Loo or Whist, led on
|
|
A thick-ribbed army; not, as in the world,
|
|
Neglected and ungratefully thrown by
|
|
Even for the very service they had wrought,
|
|
But husbanded through many a long campaign."
|
|
- Wordsworth
|
|
</pre>
|
|
|
|
|
|
<script Language="JavaScript">
|
|
|
|
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 += '<table id="game" align="center" style="border-collapse: collapse;width:95px; height:95px; color:#1A1A1A" border="3" cellspacing="10" cellpadding="30">'
|
|
|
|
for(p = 1, q=1; p < rows; p++){
|
|
|
|
str += '<tr>'
|
|
for (j = 0; j < columns; q++,j++){
|
|
str += '<td style = color:#FFFFFF id="cell'+q+'">' +ary[q]+'</td>';
|
|
|
|
}
|
|
str += '</tr>'
|
|
|
|
}
|
|
|
|
str += '</table>'
|
|
document.getElementById("tic").innerHTML =str
|
|
|
|
}
|
|
function score(){
|
|
document.getElementById("score").innerHTML=""
|
|
var score = "</br> X Wins = " + xwin + "</br> O Wins = " + owin + "</br> 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 = '<h1> LEVEL: MULTIPLAYER</h1>'
|
|
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 = '<h1> CHOOSE A LEVEL</h1>';})
|
|
document.getElementById("cell2").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '<h1> CHOOSE A LEVEL</h1>';})
|
|
document.getElementById("cell3").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '<h1> CHOOSE A LEVEL</h1>';})
|
|
document.getElementById("cell4").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '<h1> CHOOSE A LEVEL</h1>';})
|
|
document.getElementById("cell5").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '<h1> CHOOSE A LEVEL</h1>';})
|
|
document.getElementById("cell6").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '<h1> CHOOSE A LEVEL</h1>';})
|
|
document.getElementById("cell7").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '<h1> CHOOSE A LEVEL</h1>';})
|
|
document.getElementById("cell8").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '<h1> CHOOSE A LEVEL</h1>';})
|
|
document.getElementById("cell9").addEventListener("click", function gameend(){if (endgame == true) document.getElementById("level").innerHTML = '<h1> CHOOSE A LEVEL</h1>';})
|
|
|
|
|
|
}
|
|
|
|
function game1(){
|
|
if (start == true){removeevent(); start = false; reset(); drawboard(board);}
|
|
start = true
|
|
document.getElementById("level").innerHTML = '<h1> LEVEL: EASY</h1>'
|
|
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 = '<h1> CHOOSE A LEVEL</h1>'
|
|
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 = '<h1> CHOOSE A LEVEL</h1>'
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function game2(){
|
|
if (start == true){removeevent(); start = false; reset(); drawboard(board);}
|
|
start = true
|
|
document.getElementById("level").innerHTML = '<h1> LEVEL: MEDIUM</h1>'
|
|
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 = '<h1> CHOOSE A LEVEL</h1>'
|
|
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 = '<h1> CHOOSE A LEVEL</h1>'
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function game3(){
|
|
if (start == true){removeevent(); start = false; reset(); drawboard(board);}
|
|
start = true
|
|
document.getElementById("level").innerHTML = '<h1> LEVEL: HARD</h1>'
|
|
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 = '<h1> CHOOSE A LEVEL</h1>'
|
|
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 = 7; 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 = '<h1> CHOOSE A LEVEL</h1>'
|
|
}
|
|
}
|
|
}
|
|
|
|
function game4(){
|
|
if (start == true){removeevent(); start = false; reset(); drawboard(board);}
|
|
start = true
|
|
document.getElementById("level").innerHTML = '<h1> LEVEL: EXPERT</h1>'
|
|
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 = '<h1> CHOOSE A LEVEL</h1>'
|
|
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 = '<h1> CHOOSE A LEVEL</h1>'; 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 = '<h1> CHOOSE A LEVEL</h1>';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();})
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html> |