WBE_Praktikum_7/code/public/connect4.html

120 lines
2.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vier gewinnt</title>
<link rel="stylesheet" href="styles.css">
<script>
/*
* This solution sould be considered as a proof of concept the code
* definitely needs some cleanup and documentation
*/
let state = {
board: [
[ '', '', '', '', '', '', '' ],
[ '', '', '', '', '', '', '' ],
[ '', '', '', '', '', '', '' ],
[ '', '', '', '', '', '', '' ],
[ '', '', '', '', '', '', '' ],
[ '', '', '', '', '', '', '' ]
],
next: 'b'
}
const SERVICE = "http://localhost:3000/api/data/c4state?api-key=c4game"
// Initialize game
//
function initGame () {
let board = showBoard()
attachEventHandler(board)
}
// Show board
//
function showBoard () {
let board = document.querySelector(".board")
// first remove all fields
while (board.firstChild) { board.removeChild(board.firstChild) }
// ...
// your implementation
// ...
return board
}
// Helper function for DOM manipulation
//
function elt (type, attrs, ...children) {
let node = document.createElement(type)
for (a in attrs) {
node.setAttribute(a, attrs[a])
}
for (let child of children) {
if (typeof child != "string") node.appendChild(child)
else node.appendChild(document.createTextNode(child))
}
return node
}
// Attach event handler to board
//
function attachEventHandler (board) {
board.addEventListener("click", (e) => {
// ...
// your implementation
// ...
showBoard()
})
}
// Get current state from server and re-draw board
//
function loadState () {
// ...
// your implementation
// ...
}
// Put current state to server
//
function saveState () {
// ...
// your implementation
// ...
}
</script>
</head>
<body>
<div class="board"></div>
<div class="controls">
<button onclick="loadState()">Load</button>
<button onclick="saveState()">Save</button>
</div>
<script>
initGame()
</script>
</body>
</html>