212 lines
7.8 KiB
HTML
212 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="Florine W. Dekker" />
|
|
<meta name="application-name" content="Minesweeper" />
|
|
<meta name="description" content="Just Minesweeper!" />
|
|
<meta name="theme-color" content="#0033cc" />
|
|
|
|
<title>Minesweeper | FWDekker</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">
|
|
<!-- Controls -->
|
|
<div class="row controls">
|
|
<div class="column">
|
|
<!-- Preferences -->
|
|
<form id="preferencesOpenForm">
|
|
<button><i class="fa fa-cogs"></i> Preferences</button>
|
|
</form>
|
|
|
|
<!-- Statistics -->
|
|
<form id="statisticsOpenForm">
|
|
<button><i class="fa fa-tachometer"></i> Statistics</button>
|
|
</form>
|
|
|
|
<!-- High scores -->
|
|
<form id="highScoresOpenForm">
|
|
<button><i class="fa fa-trophy"></i> 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> New game</button>
|
|
</form>
|
|
|
|
<!-- Restart -->
|
|
<form id="restartForm">
|
|
<button><i class="fa fa-sync"></i> Restart game</button>
|
|
</form>
|
|
|
|
<!-- Seed -->
|
|
<form id="seedOpenForm">
|
|
<button><i class="fa fa-tree"></i> Enter seed</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="row controls">
|
|
<div class="column">
|
|
<!-- Undo -->
|
|
<form id="undoForm">
|
|
<button><i class="fa fa-undo"></i> Undo</button>
|
|
</form>
|
|
|
|
<!-- Redo -->
|
|
<form id="redoForm">
|
|
<button><i class="fa fa-repeat"></i> Redo</button>
|
|
</form>
|
|
|
|
<!-- Hint -->
|
|
<form id="hintForm">
|
|
<button><i class="fa fa-lightbulb-o"></i> Hint</button>
|
|
</form>
|
|
|
|
<!-- Solver -->
|
|
<form id="solveForm">
|
|
<button><i class="fa fa-key"></i> 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 <canvas> 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 (slow for complex settings)</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>
|