111 lines
4.3 KiB
HTML
111 lines
4.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"
|
|
integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
|
|
<title>game of life</title>
|
|
<style>
|
|
body {
|
|
/* position: absolute; */
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
background: #f0f0f0;
|
|
}
|
|
|
|
h1 {
|
|
font-family: monospace;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="card container text-center p-4 m-3">
|
|
<div class="card-header">
|
|
<h1>Game of Life 🚀</h1>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row p-1">
|
|
<div class="col-sm-12">
|
|
<p class="text-muted">An implementation of the standard <a href="https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Conway Game of Life</a>. The game logic is written in WASM-targeted Rust with a light Js frontend. Read through the source code <a href="https://github.com/Sarsoo/game-of-life">here</a>. It was written following the guides in the <a href="https://rustwasm.github.io/docs/book">Rust & WebAssembly book</a>.</p>
|
|
</div>
|
|
</div>
|
|
<div class="row p-3">
|
|
<div class="col-sm-6">
|
|
<input type="range"
|
|
id="frameRate"
|
|
name="frameRate"
|
|
min="1" max="500" value="100"
|
|
class="form-range">
|
|
<label for="frameRate"
|
|
id="frameRate-label"
|
|
class="form-label">Frame Interval: 100ms</label>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<input type="range"
|
|
id="randThreshold"
|
|
name="randThreshold"
|
|
min="0" max="100" value="50"
|
|
class="form-range">
|
|
<label for="randThreshold"
|
|
id="randThreshold-label"
|
|
class="form-label">Random Threshold: 50%</label>
|
|
</div>
|
|
</div>
|
|
<div class="row p-3">
|
|
<div class="col-sm-6">
|
|
<input type="number"
|
|
id="width"
|
|
name="width"
|
|
min="1" max="1000" value="100"
|
|
class="form-control">
|
|
<label for="width">width</label>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<input type="number"
|
|
id="height"
|
|
name="height"
|
|
min="1" max="1000" value="100"
|
|
class="form-control">
|
|
<label for="height">height</label>
|
|
</div>
|
|
</div>
|
|
<div class="row p-3 align-items-center">
|
|
<div class="col-sm-6">
|
|
<!-- <input type="checkbox"
|
|
id="play-check"
|
|
name="play-check"
|
|
class="form-check-input">
|
|
<label for="play-check">Play</label> -->
|
|
<button id="play" class="btn btn-success">Play</button>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<div class="row p-1">
|
|
<button id="step" class="btn btn-secondary">Step</button>
|
|
</div>
|
|
<div class="row p-1">
|
|
<button id="reset" class="btn btn-secondary">Reset</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- <pre id="game-of-life-canvas"></pre> -->
|
|
<canvas id="game-of-life-canvas" class="pb-2"></canvas>
|
|
|
|
<script src="./bootstrap.js"></script>
|
|
|
|
<a href="https://github.com/sarsoo"><img src="https://storage.googleapis.com/sarsooxyzstatic/andy.png" class=" pb-2" style="width: 150px" /></a>
|
|
</body>
|
|
|
|
</html> |