-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
64 lines (51 loc) · 1.31 KB
/
index.php
File metadata and controls
64 lines (51 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
include_once("vendor/autoload.php");
use Dawsompablo\ProceduralGeneration\Noise\Noise;
use Dawsompablo\ProceduralGeneration\Map\Map;
use Dawsompablo\ProceduralGeneration\Entity\Pixel;
use Dawsompablo\ProceduralGeneration\Entity\Point;
$pixels = [];
const WIDTH = 100;
const HEIGHT = 100;
const SEED = 100;
$map = new Map();
$noise = new Noise(SEED);
for ($x = 0; $x <= WIDTH; $x++) {
for ($y = 0; $y <= HEIGHT; $y++) {
$pixels[$x][$y] = $map->drawPixel(new Pixel($x, $y, $noise->generate(new Point($x, $y))));
}
}
?>
<style>
:root {
--pixel-size: 6px;
--pixel-gap: 0;
--pixel-color: #000;
}
* {
margin: 0;
padding: 0;
}
.map {
display: grid;
grid-template-columns: repeat(<?= count($pixels) ?>, var(--pixel-size));
grid-auto-rows: var(--pixel-size);
grid-gap: var(--pixel-gap);
}
.map>div {
width: var(--pixel-size);
height: 100%;
grid-area: var(--y) / var(--x) / var(--y) / var(--x);
background-color: var(--pixel-color);
}
</style>
<div class="map">
<?php
foreach ($pixels as $x => $row) {
foreach ($row as $y => $pixel) {
echo $pixel;
}
}
?>
</div>
<!-- BASED ON: https://stitcher.io/blog/procedurally-generated-game-in-php -->