first commit
This commit is contained in:
1
Docs/JS Functions.md
Normal file
1
Docs/JS Functions.md
Normal file
@@ -0,0 +1 @@
|
||||
# Game Of Life - Dokumentation
|
||||
BIN
Fonts/BurbankBigCondensed-Bold.eot
Normal file
BIN
Fonts/BurbankBigCondensed-Bold.eot
Normal file
Binary file not shown.
10791
Fonts/BurbankBigCondensed-Bold.svg
Normal file
10791
Fonts/BurbankBigCondensed-Bold.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 595 KiB |
BIN
Fonts/BurbankBigCondensed-Bold.ttf
Normal file
BIN
Fonts/BurbankBigCondensed-Bold.ttf
Normal file
Binary file not shown.
BIN
Fonts/BurbankBigCondensed-Bold.woff
Normal file
BIN
Fonts/BurbankBigCondensed-Bold.woff
Normal file
Binary file not shown.
BIN
Fonts/BurbankBigCondensed-Bold.woff2
Normal file
BIN
Fonts/BurbankBigCondensed-Bold.woff2
Normal file
Binary file not shown.
192
Fonts/demo.html
Normal file
192
Fonts/demo.html
Normal file
@@ -0,0 +1,192 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="robots" content="noindex, noarchive">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<title>Transfonter demo</title>
|
||||
<link href="stylesheet.css" rel="stylesheet">
|
||||
<style>
|
||||
/*
|
||||
http://meyerweb.com/eric/tools/css/reset/
|
||||
v2.0 | 20110126
|
||||
License: none (public domain)
|
||||
*/
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
/* HTML5 display-role reset for older browsers */
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
/* demo styles */
|
||||
body {
|
||||
background: #f0f0f0;
|
||||
color: #000;
|
||||
}
|
||||
.page {
|
||||
background: #fff;
|
||||
width: 920px;
|
||||
margin: 0 auto;
|
||||
padding: 20px 20px 0 20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.font-container {
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
margin-bottom: 40px;
|
||||
line-height: 1.3;
|
||||
white-space: nowrap;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
h1 {
|
||||
position: relative;
|
||||
background: #444;
|
||||
font-size: 32px;
|
||||
color: #fff;
|
||||
padding: 10px 20px;
|
||||
margin: 0 -20px 12px -20px;
|
||||
}
|
||||
.letters {
|
||||
font-size: 25px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.s10:before {
|
||||
content: '10px';
|
||||
}
|
||||
.s11:before {
|
||||
content: '11px';
|
||||
}
|
||||
.s12:before {
|
||||
content: '12px';
|
||||
}
|
||||
.s14:before {
|
||||
content: '14px';
|
||||
}
|
||||
.s18:before {
|
||||
content: '18px';
|
||||
}
|
||||
.s24:before {
|
||||
content: '24px';
|
||||
}
|
||||
.s30:before {
|
||||
content: '30px';
|
||||
}
|
||||
.s36:before {
|
||||
content: '36px';
|
||||
}
|
||||
.s48:before {
|
||||
content: '48px';
|
||||
}
|
||||
.s60:before {
|
||||
content: '60px';
|
||||
}
|
||||
.s72:before {
|
||||
content: '72px';
|
||||
}
|
||||
.s10:before, .s11:before, .s12:before, .s14:before,
|
||||
.s18:before, .s24:before, .s30:before, .s36:before,
|
||||
.s48:before, .s60:before, .s72:before {
|
||||
font-family: Arial, sans-serif;
|
||||
font-size: 10px;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
color: #999;
|
||||
padding-right: 6px;
|
||||
}
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9px;
|
||||
margin: 0 0 12px;
|
||||
font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
|
||||
font-size: 13px;
|
||||
line-height: 1.428571429;
|
||||
color: #333;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
background-color: #f5f5f5;
|
||||
border: 1px solid #ccc;
|
||||
overflow-x: auto;
|
||||
border-radius: 4px;
|
||||
}
|
||||
/* responsive */
|
||||
@media (max-width: 959px) {
|
||||
.page {
|
||||
width: auto;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page">
|
||||
<div class="demo">
|
||||
<h1 style="font-family: 'Burbank Big Cd Bd'; font-weight: bold; font-style: normal;">Burbank Big Condensed Bold</h1>
|
||||
<pre title="Usage">.your-style {
|
||||
font-family: 'Burbank Big Cd Bd';
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}</pre>
|
||||
<pre title="Preload (optional)">
|
||||
<link rel="preload" href="BurbankBigCondensed-Bold.woff2" as="font" type="font/woff2" crossorigin></pre>
|
||||
<div class="font-container" style="font-family: 'Burbank Big Cd Bd'; font-weight: bold; font-style: normal;">
|
||||
<p class="letters">
|
||||
abcdefghijklmnopqrstuvwxyz<br>
|
||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ<br>
|
||||
0123456789.:,;()*!?'@#<>$%&^+-=~
|
||||
</p>
|
||||
<p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
<p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
13
Fonts/stylesheet.css
Normal file
13
Fonts/stylesheet.css
Normal file
@@ -0,0 +1,13 @@
|
||||
@font-face {
|
||||
font-family: 'Burbank Big Cd Bd';
|
||||
src: url('BurbankBigCondensed-Bold.eot');
|
||||
src: url('BurbankBigCondensed-Bold.eot?#iefix') format('embedded-opentype'),
|
||||
url('BurbankBigCondensed-Bold.woff2') format('woff2'),
|
||||
url('BurbankBigCondensed-Bold.woff') format('woff'),
|
||||
url('BurbankBigCondensed-Bold.ttf') format('truetype'),
|
||||
url('BurbankBigCondensed-Bold.svg#BurbankBigCondensed-Bold') format('svg');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
82
design.css
Normal file
82
design.css
Normal file
@@ -0,0 +1,82 @@
|
||||
@font-face {
|
||||
font-family: 'Burbank Big Cd Bk';
|
||||
src: url('./Fonts/BurbankBigCondensed-Bold.eot');
|
||||
src: url('./Fonts/BurbankBigCondensed-Bold.eot?#iefix') format('embedded-opentype'),
|
||||
url('./Fonts/BurbankBigCondensed-Bold.woff2') format('woff2'),
|
||||
url('./Fonts/BurbankBigCondensed-Bold.woff') format('woff'),
|
||||
url('./Fonts/BurbankBigCondensed-Bold.ttf') format('truetype'),
|
||||
url('./Fonts/BurbankBigCondensed-Bold.svg#BurbankBigCondensed-Bold') format('svg');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
* {
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
html {
|
||||
background-color: #2f2f2f;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.game {
|
||||
align-items: center;
|
||||
}
|
||||
#canvas {
|
||||
margin-top: 2%;
|
||||
}
|
||||
.text, .headline {
|
||||
color: #fff;
|
||||
}
|
||||
.headline {
|
||||
font-family: 'Burbank Big Cd Bk';
|
||||
}
|
||||
.game_button_active, .game_button_inactive {
|
||||
font-family: 'Burbank Big Cd Bk';
|
||||
color: #2c3067;
|
||||
font-size: 15px;
|
||||
border: 3px #fefc72 solid;
|
||||
border-radius: 0px;
|
||||
padding: 5px 15px;
|
||||
text-shadow: 1px 1px 1px #528ecc;
|
||||
box-shadow: 1px 1px 2px 0px #bbdaf7;
|
||||
cursor: pointer;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
.game_button_active {
|
||||
background-color: #eee602;
|
||||
}
|
||||
.game_button_inactive {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
color: rgba(0, 0, 0, 0);
|
||||
border: none;
|
||||
text-shadow: none;
|
||||
cursor: default;
|
||||
box-shadow: none;
|
||||
}
|
||||
.game_button_active:hover {
|
||||
transform: scale(1.1);
|
||||
box-shadow: 0px 4px 15px 0px rgba(17, 17, 17, 0.8);
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
.game_button_active:active {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
.grid_control, .control {
|
||||
width: 50%;
|
||||
overflow: hidden;
|
||||
|
||||
}
|
||||
.left {
|
||||
float: left;
|
||||
}
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
.left, .right {
|
||||
border: 3px #7c7c74 solid;
|
||||
border-radius: 0px;
|
||||
}
|
||||
264
game.js
Normal file
264
game.js
Normal file
@@ -0,0 +1,264 @@
|
||||
var grid;
|
||||
var easteregg = false;
|
||||
var Play = false;
|
||||
var gen = 0;
|
||||
var genCount = document.getElementById('genCount');
|
||||
var togglePlayBtn = document.getElementById('togglePlay');
|
||||
var nextGenBtn = document.getElementById("nextGenBtn");
|
||||
|
||||
function getRandomColor() {
|
||||
var letters = '0123456789ABCDEF';
|
||||
var color = '#';
|
||||
for (var i = 0; i < 6; i++) {
|
||||
color += letters[Math.floor(Math.random() * 16)];
|
||||
}
|
||||
return color;
|
||||
}
|
||||
|
||||
function setup () {
|
||||
generate();
|
||||
}
|
||||
|
||||
function jsonLoad() {
|
||||
var CustomJSON = JSON.parse(document.getElementById("json").value);
|
||||
if(CustomJSON == '') {
|
||||
console.log('Got no Input in CustomJSON Input with ID "json"');
|
||||
} else {
|
||||
canvas = createCanvas(CustomJSON['width'], CustomJSON['height']);
|
||||
canvas.id('canvas');
|
||||
grid = new Grid(CustomJSON['gridSize']);
|
||||
|
||||
if(CustomJSON['random'] == "true") {
|
||||
grid.randomize();
|
||||
} else {
|
||||
var array = CustomJSON['grid'];
|
||||
for(var i of array) {
|
||||
var column = i['y'];
|
||||
var row = i['x'];
|
||||
var IsAlive = i['isAlive'];
|
||||
if(IsAlive == 1) {
|
||||
var Alive = true;
|
||||
} else {
|
||||
var Alive = "";
|
||||
}
|
||||
grid.cells[column][row].setIsAlive(Alive);
|
||||
}
|
||||
}
|
||||
updateButtons();
|
||||
grid.draw();
|
||||
}
|
||||
}
|
||||
|
||||
function generate() {
|
||||
Play = false
|
||||
gen = -1;
|
||||
genCount.innerText = gen;
|
||||
var width = document.getElementById('width').value;
|
||||
var height = document.getElementById('height').value;
|
||||
var grid_size = document.getElementById('grid_size').value;
|
||||
easteregg = false;
|
||||
if(width == 0) {
|
||||
width = 600;
|
||||
}
|
||||
if(height == 0) {
|
||||
height = 600;
|
||||
}
|
||||
if(grid_size == 0) {
|
||||
grid_size = 10;
|
||||
}
|
||||
if(grid_size == 6.9 || grid_size == 4.20) {
|
||||
easteregg = true;
|
||||
}
|
||||
canvas = createCanvas(width, height);
|
||||
canvas.id('canvas');
|
||||
grid = new Grid(grid_size);
|
||||
nextGen();
|
||||
updateButtons();
|
||||
}
|
||||
|
||||
function togglePlay() {
|
||||
|
||||
if(togglePlayBtn.innerText =='Play') {
|
||||
togglePlayBtn.innerText = 'Pause';
|
||||
Play = true;
|
||||
}
|
||||
else {
|
||||
togglePlayBtn.innerText = 'Play';
|
||||
Play = false;
|
||||
}
|
||||
draw();
|
||||
updateButtons();
|
||||
}
|
||||
|
||||
function updateButtons() {
|
||||
try {
|
||||
if(Play == false) {
|
||||
nextGenBtn.classList.remove("game_button_inactive");
|
||||
nextGenBtn.classList.add("game_button_active");
|
||||
togglePlayBtn.innerText = 'Play'
|
||||
} else {
|
||||
nextGenBtn.classList.add("game_button_inactive");
|
||||
nextGenBtn.classList.remove("game_button_active");
|
||||
togglePlayBtn.innerText = 'Pause'
|
||||
}
|
||||
} catch {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function nextGen() {
|
||||
background(47, 47, 47);
|
||||
gen += 1;
|
||||
genCount.innerText = 'Generation: ' + gen;
|
||||
|
||||
grid.updateNeighborCounts();
|
||||
grid.updatePopulation();
|
||||
grid.draw();
|
||||
}
|
||||
|
||||
function draw() {
|
||||
if(Play == true) {
|
||||
gen += 1;
|
||||
genCount.innerText = 'Generation: ' + gen;
|
||||
background(47, 47, 47);
|
||||
|
||||
grid.updateNeighborCounts();
|
||||
grid.updatePopulation();
|
||||
grid.draw();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Grid {
|
||||
constructor (cellSize) {
|
||||
this.cellSize = cellSize;
|
||||
this.numberOfColumns = floor(width / this.cellSize);
|
||||
this.numberOfRows = floor(height / this.cellSize);
|
||||
|
||||
this.cells = new Array(this.numberOfColumns);
|
||||
for (var column = 0; column < this.numberOfColumns; column ++) {
|
||||
this.cells[column] = new Array(this.numberOfRows);
|
||||
}
|
||||
|
||||
for (var column = 0; column < this.numberOfColumns; column ++) {
|
||||
for (var row = 0; row < this.numberOfRows; row++) {
|
||||
this.cells[column][row] = new Cell(column, row, cellSize)
|
||||
}
|
||||
}
|
||||
print(this.cells);
|
||||
}
|
||||
|
||||
draw () {
|
||||
for (var column = 0; column < this.numberOfColumns; column ++) {
|
||||
for (var row = 0; row < this.numberOfRows; row++) {
|
||||
this.cells[column][row].draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
randomize () {
|
||||
for (var column = 0; column < this.numberOfColumns; column ++) {
|
||||
for (var row = 0; row < this.numberOfRows; row++) {
|
||||
var value = floor(random(2));
|
||||
this.cells[column][row].setIsAlive(value);
|
||||
}
|
||||
}
|
||||
nextGen();
|
||||
gen = 0;
|
||||
genCount.innerText = 'Generation: ' + gen;
|
||||
Play = false;
|
||||
updateButtons();
|
||||
}
|
||||
|
||||
updateNeighborCounts () {
|
||||
for (var column = 0; column < this.numberOfColumns; column ++) {
|
||||
for (var row = 0; row < this.numberOfRows; row++) {
|
||||
var currentCell = this.cells[column][row]
|
||||
currentCell.liveNeighborCount = 0;
|
||||
|
||||
var neighborsArray = this.getNeighbors(currentCell);
|
||||
|
||||
for (var position in neighborsArray) {
|
||||
if (neighborsArray[position].isAlive) {
|
||||
currentCell.liveNeighborCount += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getNeighbors(currentCell) {
|
||||
var neighbors = [];
|
||||
|
||||
for (var columnOffset = -1; columnOffset <= 1; columnOffset++) {
|
||||
for (var rowOffset = -1; rowOffset <= 1; rowOffset++) {
|
||||
var neighborX = currentCell.column + columnOffset;
|
||||
var neighborY = currentCell.row + rowOffset;
|
||||
|
||||
if (this.isValidPosition(neighborX, neighborY)) {
|
||||
var neighborCell = this.cells[neighborX][neighborY];
|
||||
|
||||
if (neighborCell != currentCell) {
|
||||
neighbors.push(neighborCell);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return neighbors;
|
||||
}
|
||||
|
||||
isValidPosition (column, row) {
|
||||
var validColumn = column >= 0 && column < this.numberOfColumns;
|
||||
var validRow = row >= 0 && row < this.numberOfRows
|
||||
|
||||
return validColumn && validRow;
|
||||
}
|
||||
|
||||
updatePopulation () {
|
||||
for (var column = 0; column < this.numberOfColumns; column ++) {
|
||||
for (var row = 0; row < this.numberOfRows; row++) {
|
||||
this.cells[column][row].liveOrDie();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Cell {
|
||||
constructor (column, row, size) {
|
||||
this.column = column;
|
||||
this.row = row;
|
||||
this.size = size;
|
||||
this.isAlive = false;
|
||||
this.liveNeighborCount = 0;
|
||||
}
|
||||
|
||||
draw () {
|
||||
if (this.isAlive) {
|
||||
if(easteregg == true) {
|
||||
fill(color(getRandomColor()));
|
||||
} else {
|
||||
fill(color(240, 0, 240))
|
||||
}
|
||||
} else {
|
||||
fill(color(187));
|
||||
}
|
||||
noStroke();
|
||||
rect(this.column * this.size + 1, this.row * this.size + 1, this.size - 1, this.size - 1);
|
||||
}
|
||||
|
||||
setIsAlive (value) {
|
||||
if (value) {
|
||||
this.isAlive = true;
|
||||
} else {
|
||||
this.isAlive = false;
|
||||
}
|
||||
}
|
||||
|
||||
liveOrDie () {
|
||||
if (this.isAlive && this.liveNeighborCount < 2) this.isAlive = false; // Loneliness
|
||||
else if (this.isAlive && this.liveNeighborCount > 3) this.isAlive = false; // Overpopulation
|
||||
else if (!this.isAlive && this.liveNeighborCount === 3) this.isAlive = true; // Reproduction
|
||||
// otherwise stay the same
|
||||
}
|
||||
}
|
||||
48
index.html
Normal file
48
index.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">
|
||||
<title>Game Of Life</title>
|
||||
<link rel="stylesheet" type="text/css" href="design.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="game">
|
||||
<h1 class="headline">Game of Life</h1>
|
||||
<div class="grid_control">
|
||||
<div class="control left">
|
||||
<input id="height" type="number" title="Height"><a class="text">-> Höhe</a><br>
|
||||
<input id="width" type="number" title="Width"><a class="text">-> Breite</a><br>
|
||||
<input id="grid_size" type="number" title="Grid Size"><a class="text">-> Zellen Größe</a><br>
|
||||
</div>
|
||||
<div class="left">
|
||||
<a class="text">
|
||||
Lere Felder werden automatisch auf die Standart Größen gesetzt.
|
||||
<br>Standart Größen Sind:
|
||||
<br>Höhe & Breite: 600
|
||||
<br>Zellen Größe: 10
|
||||
<br>Die Zellen Anzahl basiert auf die Größe des Feldes und der Zellen Größe.
|
||||
<br>Höhe / Zellen Größe = Anzahl Zellen pro Zeile
|
||||
<br>Breite / Zellen Größe = Anzahl Zellen pro Spalte
|
||||
</a><br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="game_control">
|
||||
<br>
|
||||
<button class="game_button_active" onclick="generate()">Generieren / Leeren</button>
|
||||
<button class="game_button_active" onclick="grid.randomize()">Zufällig</button>
|
||||
<button class="game_button_active" id="togglePlay" onclick="togglePlay()">Play</button>
|
||||
<button class="game_button_active" onclick="nextGen()" id="nextGenBtn">Nächste Generation</button><br><br>
|
||||
<a class="docsURL text">Custom JSON: </a>
|
||||
<a class="text url" href="https://servermf.de/GameOfLife/docs/CustomJSON.html">What is this?</a><br>
|
||||
<input id="json" type="text" title="Custom Json">
|
||||
<button class="game_button_active" onclick="jsonLoad()">Load</button><br>
|
||||
<a class="text" id="genCount">Generation: 0</a>
|
||||
</div>
|
||||
</div>
|
||||
<script src="p5.js"></script>
|
||||
<script src="jquery.min.js"></script>
|
||||
<script src="game.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
4
jquery.min.js
vendored
Normal file
4
jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
25
sample.json
Normal file
25
sample.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"height":"250",
|
||||
"width":"250",
|
||||
"gridSize":"25",
|
||||
"random":"false",
|
||||
"grid":[
|
||||
{"x":2, "y":2, "isAlive":1},
|
||||
{"x":3, "y":2, "isAlive":1},
|
||||
{"x":4, "y":2, "isAlive":1},
|
||||
{"x":5, "y":2, "isAlive":1},
|
||||
{"x":6, "y":2, "isAlive":1},
|
||||
{"x":4, "y":3, "isAlive":1},
|
||||
{"x":4, "y":4, "isAlive":1},
|
||||
{"x":2, "y":5, "isAlive":1},
|
||||
{"x":3, "y":5, "isAlive":1},
|
||||
{"x":4, "y":5, "isAlive":1},
|
||||
{"x":5, "y":5, "isAlive":1},
|
||||
{"x":6, "y":5, "isAlive":1},
|
||||
{"x":2, "y":7, "isAlive":1},
|
||||
{"x":3, "y":7, "isAlive":1},
|
||||
{"x":4, "y":7, "isAlive":1},
|
||||
{"x":5, "y":7, "isAlive":1},
|
||||
{"x":6, "y":7, "isAlive":1}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user