I made this simple program for school and it works fine when I run it on Explorer or Chrome, but it won't work on Firefox. It needs to run on Firefox, because that is the only brower my school allows for this particular project. Not sure what to fix... can someone put me in the right direction to allow this to run in Firefox. Here is my program:
function startGame() {
for (var i = 1; i <= 9; i = i + 1) {
clearBox(i);
}
document.turn = "X";
if (Math.random() < 0.5) {
document.turn = "O";
}
document.winner = null;
setMessage(document.turn + " gets to start.");
}
function setMessage(msg) {
document.getElementById("message").innerText = msg;
}
function nextMove(square) {
if (document.winner != null) {
setMessage(document.winner + " Already Wone the Game!");
} else if (square.innerText == "") {
square.innerText = document.turn;
switchTurn();
} else {
setMessage("That Square is Already Used.")
}
}
function switchTurn() {
if (checkForWinner(document.turn)) {
setMessage("Contratulations " + document.turn + "! You Win!");
document.winner = document.turn;
} else if (document.turn == "X") {
document.turn = "O";
setMessage("It's " + document.turn + "'s turn!");
} else {
document.turn = "X";
setMessage("It's " + document.turn + "'s turn!");
}
}
function checkForWinner(move) {
var result = false;
if (checkRow(1, 2, 3, move) ||
checkRow(4, 5, 6, move) ||
checkRow(7, 8, 9, move) ||
checkRow(1, 4, 7, move) ||
checkRow(2, 5, 8, move) ||
checkRow(3, 6, 9, move) ||
checkRow(1, 5, 9, move) ||
checkRow(3, 5, 7, move)) {
result = true;
}
return result;
}
function checkRow(a, b, c, move) {
var result = false;
if (getBox(a) == move && getBox(b) == move && getBox(c) == move) {
result = true;
}
return result;
}
function getBox(number) {
return document.getElementById("s" + number).innerText;
}
function clearBox(number) {
document.getElementById("s" + number).innerText = "";
}
.Square {
width: 60px;
height: 60px;
text-align: center;
font-size: 18pt;
font-weight: bold;
font-family: Verdana;
}
<h1> Tic-Tac-Toe!</h1>
<div id="message">message will be here</div>
<table border="1">
<tr>
<td id="s1" class="Square" onclick="nextMove(this);"></td>
<td id="s2" class="Square" onclick="nextMove(this);"></td>
<td id="s3" class="Square" onclick="nextMove(this);"></td>
</tr>
<tr>
<td id="s4" class="Square" onclick="nextMove(this);"></td>
<td id="s5" class="Square" onclick="nextMove(this);"></td>
<td id="s6" class="Square" onclick="nextMove(this);"></td>
</tr>
<tr>
<td id="s7" class="Square" onclick="nextMove(this);"></td>
<td id="s8" class="Square" onclick="nextMove(this);"></td>
<td id="s9" class="Square" onclick="nextMove(this);"></td>
</tr>
</table>
<a href="javascript:startGame();"> Start New Game</a>