code-katas/snake/snake.html
2014-12-11 22:52:55 -06:00

60 lines
2.6 KiB
HTML

<!doctype html>
<html>
<head>
<meta name=charset value=utf-8>
<title>Snake</title>
<link href='http://fonts.googleapis.com/css?family=Exo+2:400,900' rel='stylesheet' type='text/css'>
<link href="snake.css" type="text/css" rel="stylesheet">
<script src="snake.js" type="application/javascript"></script>
</head>
<body>
<header><h1>Snake</h1></header>
<section id=controls>
<label>Rows</label>
<input id=rows type=text placeholder="Rows" value=20><br>
<label>Columns</label>
<input id=cols type=text placeholder="Columns" value=40><br>
<label>Speed (higher = faster)</label>
<input id=fps type=text placeholder="Speed (higher = faster)" value=10><br>
<input name=editor type=radio value="Game" checked>Game</input>
<input id=useEditor name=editor type=radio value="Editor">Editor</input>
<input id=reset type=button value="Apply">
</section>
<section id=gameData>
<label> Custom Level:</label><br>
<textarea class=boardData></textarea>
</section>
<section id=editorControls>
<textarea class=boardData></textarea>
<input type=button value=Reload>
</section>
<section id=help>
Arrow keys change direction.<br>
Pause key pauses the game.<br>
Enter restarts the game.<br>
</section>
<br>
<canvas id=gameCanvas width=800 height=400 tabIndex=100></canvas>
<script type="application/javascript">
var canvas = document.getElementById("gameCanvas");
var resetButton = document.getElementById("reset");
var customLevelData = document.querySelector("#gameData textarea");
Snake.initialize({ rows: parseInt(document.getElementById("rows").value),
cols: parseInt(document.getElementById("cols").value),
fps: parseInt(document.getElementById("fps").value)});
resetButton.onclick = function() {
if (customLevelData.value.trim().length > 0) {
Snake.initialize(JSON.parse(customLevelData.value)); }
else { Snake.initialize({
editor: document.getElementById("useEditor").checked,
rows: parseInt(document.getElementById("rows").value),
cols: parseInt(document.getElementById("cols").value),
fps: parseInt(document.getElementById("fps").value)}); } };
</script>
</body>
</html>