minesweeper/src/main/index.html

211 lines
7.8 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="author" content="Felix W. Dekker" />
<meta name="application-name" content="Minesweeper" />
<meta name="description" content="Just Minesweeper!" />
<meta name="theme-color" content="#0033cc" />
<title>Minesweeper</title>
<link rel="stylesheet" href="https://static.fwdekker.com/fonts/roboto/roboto.css" />
<link rel="stylesheet" href="https://static.fwdekker.com/fonts/fork-awesome/1.x.x/fork-awesome.css" />
<link rel="stylesheet" href="https://static.fwdekker.com/lib/template/2.x.x/template.css" />
<!--suppress HtmlUnknownTarget -->
<link rel="stylesheet" href="main.css?v=%%VERSION_NUMBER%%" />
<script async src="https://stats.fwdekker.com/count.js"
data-goatcounter="https://stats.fwdekker.com/count"></script>
</head>
<body>
<noscript>
<img src="https://stats.fwdekker.com/count?p=/tools/minesweeper/" alt="Counting pixel" />
<p>
This website does not function if JavaScript is disabled.
Please check the <a href="https://www.enable-javascript.com/">
instructions on how to enable JavaScript in your web browser</a>.
</p>
</noscript>
<main class="hidden">
<div id="nav"></div>
<div id="contents">
<div id="header"></div>
<section class="container" id="mainContainer">
<!-- Controls -->
<div class="row controls">
<div class="column">
<!-- Preferences -->
<form id="preferencesOpenForm">
<button><i class="fa fa-cogs"></i>&emsp;Preferences</button>
</form>
<!-- Statistics -->
<form id="statisticsOpenForm">
<button><i class="fa fa-tachometer"></i>&emsp;Statistics</button>
</form>
<!-- High scores -->
<form id="highScoresOpenForm">
<button><i class="fa fa-trophy"></i>&emsp;High scores</button>
</form>
</div>
</div>
<div class="row controls">
<div class="column">
<!-- Difficulty -->
<label for="difficulty"></label>
<select id="difficulty">
<option>Select difficulty</option>
</select>
<!-- New game -->
<form id="newGameForm">
<button><i class="fa fa-random"></i>&emsp;New game</button>
</form>
<!-- Restart -->
<form id="restartForm">
<button><i class="fa fa-sync"></i>&emsp;Restart game</button>
</form>
<!-- Seed -->
<form id="seedOpenForm">
<button><i class="fa fa-tree"></i>&emsp;Enter seed</button>
</form>
</div>
</div>
<div class="row controls">
<div class="column">
<!-- Undo -->
<form id="undoForm">
<button><i class="fa fa-undo"></i>&emsp;Undo</button>
</form>
<!-- Redo -->
<form id="redoForm">
<button><i class="fa fa-repeat"></i>&emsp;Redo</button>
</form>
<!-- Hint -->
<form id="hintForm">
<button><i class="fa fa-lightbulb-o"></i>&emsp;Hint</button>
</form>
<!-- Solver -->
<form id="solveForm">
<button><i class="fa fa-key"></i>&emsp;Solve</button>
</form>
</div>
</div>
<br />
<!-- Field -->
<div class="row">
<div class="column">
<!-- Canvas -->
<div id="canvasContainer">
<canvas id="canvas" class="invisible" width="1" height="1">
Your browser must support the &lt;canvas&gt; element to run this game.
</canvas>
</div>
</div>
</div>
</section>
</div>
<div id="footer"></div>
<!-- Custom difficulty overlay -->
<div class="overlayWrapper hidden" id="customDifficultyOverlay">
<div class="overlay">
<h2>Custom difficulty</h2>
<form id="customDifficultyForm">
<label for="settingsWidth">Width</label>
<input type="number" id="settingsWidth" min="3" max="99" value="9" />
<label for="settingsHeight">Height</label>
<input type="number" id="settingsHeight" min="3" max="99" value="9" />
<label for="settingsMines">Mines</label>
<input type="number" id="settingsMines" min="0" value="10" />
<label for="settingsSolvable">Ensure solvability (experimental)</label>
<input type="checkbox" id="settingsSolvable" />
<br /><br />
<button>New game</button>
</form>
<form id="customDifficultyCancelForm">
<button class="cancel">Cancel</button>
</form>
</div>
</div>
<!-- Seed input overlay -->
<div class="overlayWrapper hidden" id="seedOverlay">
<div class="overlay">
<h2>Seed</h2>
<form id="seedForm">
<!--suppress HtmlFormInputWithoutLabel Only one input, so header already explains everything -->
<input id="seed" />
<button>New game</button>
</form>
<form id="seedCancelForm">
<button class="cancel">Cancel</button>
</form>
</div>
</div>
<!-- Preferences overlay -->
<div class="overlayWrapper hidden" id="preferencesOverlay">
<div class="overlay">
<h2>Preferences</h2>
<form id="preferencesForm">
<label for="preferencesEnableMarks">Enable question marks</label>
<input type="checkbox" id="preferencesEnableMarks" />
<label for="preferencesShowTooManyFlagsHints">Highlight squares with too many flags around them</label>
<input type="checkbox" id="preferencesShowTooManyFlagsHints" />
<br /><br />
<button>Save</button>
</form>
<form id="preferencesCancelForm">
<button class="cancel">Cancel</button>
</form>
</div>
</div>
<!-- Statistics overlay -->
<div class="overlayWrapper hidden" id="statisticsOverlay">
<div class="overlay">
<h2>Statistics</h2>
<div id="statisticsDiv"></div>
<form id="statisticsResetForm">
<button>Reset</button>
</form>
<form id="statisticsCloseForm">
<button class="cancel">Close</button>
</form>
</div>
</div>
<!-- High scores overlay -->
<div class="overlayWrapper hidden" id="highScoresOverlay">
<div class="overlay">
<h2>High scores</h2>
<div id="highScoresDiv"></div>
<form id="highScoresResetForm">
<button>Reset</button>
</form>
<form id="highScoresCloseForm">
<button class="cancel">Close</button>
</form>
</div>
</div>
</main>
<script src="https://static.fwdekker.com/lib/template/2.x.x/template.js"></script>
<!--suppress HtmlUnknownTarget -->
<script src="bundle.js?v=%%VERSION_NUMBER%%"></script>
</body>
</html>