Update uebung4

This commit is contained in:
2019-05-26 21:25:41 +02:00
parent 034e806551
commit c236524e62
3 changed files with 156 additions and 107 deletions

View File

@@ -84,10 +84,79 @@
<script>
var board = document.getElementById("board");
var info = document.getElementById("info");
var player = "x";
var win = false;
var draw = false;
board.addEventListener('click', function listener(event) {
var target = event.target;
function updateGame() {
if (target.nodeName==="TD") {
if(target.innerHTML == "") {
target.innerHTML = player;
checkWin();
checkDraw();
updateInfo();
}
}
}
function changePlayer() {
player = (player === "x") ? "o" : "x";
}
// Ergänzen Sie hier Ihren javaScript-Code
function updateInfo() {
if (win) {
info.innerHTML = player + " hat gewonnen";
} else if(draw) {
info.innerHTML = "Unentschieden";
} else {
changePlayer();
info.innerHTML = player + " ist am Zug";
}
}
function checkWin() {
for (i = 0; i < 3; i++) {
if (board.rows[i].cells[0].innerHTML !== "" && board.rows[i].cells[0].innerHTML === board.rows[i].cells[1].innerHTML && board.rows[i].cells[0].innerHTML === board.rows[i].cells[2].innerHTML) {
win = true;
}
if (board.rows[0].cells[i].innerHTML !== "" && board.rows[0].cells[i].innerHTML === board.rows[1].cells[i].innerHTML && board.rows[0].cells[i].innerHTML === board.rows[2].cells[i].innerHTML) {
win = true;
}
}
//diagonal
if (board.rows[0].cells[0].innerHTML !== "" && board.rows[0].cells[0].innerHTML === board.rows[1].cells[1].innerHTML && board.rows[0].cells[0].innerHTML === board.rows[2].cells[2].innerHTML) {
win = true;
}
if (board.rows[0].cells[2].innerHTML !== "" && board.rows[0].cells[2].innerHTML === board.rows[1].cells[1].innerHTML && board.rows[0].cells[2].innerHTML === board.rows[2].cells[0].innerHTML) {
win = true;
}
}
function checkDraw() {
temp = 0;
for (i = 0; i < 3; i++) {
for (k = 0; k < 3; k++) {
if (board.rows[i].cells[k].innerHTML !== "") {
temp++;
}
}
}
if (temp == 9) {
draw = true;
}
}
if(draw === false && win === false) {
updateGame();
}
});
</script>
</body>
</html>