CODEX Generated Game of Life
by swingpants
HTML
<!--
Instructions given to OpenAI CODEX
#Define a Javascript function which is “Conway’s Game Of Life”.
#Set field size to 600x600 and cell size to 4x4. Randomize the startup cells.
#The background is black and the cells are yellow, set in a grid.
#The game runs on a loop at 12 frames per second.
#Remove scrollbars from the display field.
#After 20 seconds the cells are randomized and the game loop is restarted.
-->
<html>
<head>
<script>
document.addEventListener("DOMContentLoaded", function() {
function GameOfLife(grid) {
var nextGrid = [];
for (var i = 0; i < grid.length; i++) {
nextGrid[i] = [];
for (var j = 0; j < grid[i].length; j++) {
nextGrid[i][j] = 0;
}
}
for (var i = 0; i < grid.length; i++) {
for (var j = 0; j < grid[i].length; j++) {
var neighbors = 0;
for (var k = -1; k <= 1; k++) {
for (var l = -1; l <= 1; l++) {
if (k === 0 && l === 0) {
continue;
}
if (i + k >= 0 && i + k < grid.length && j + l >= 0 && j + l < grid[i].length) {
if (grid[i + k][j + l] === 1) {
neighbors++;
}
}
}
}
if (neighbors < 2 || neighbors > 3) {
nextGrid[i][j] = 0;
} else if (neighbors === 3) {
nextGrid[i][j] = 1;
} else {
nextGrid[i][j] = grid[i][j];
}
}
}
return nextGrid;
}
var fieldSize = 600;
var cellSize = 4;
var grid = [];
for (var i = 0; i < fieldSize / cellSize; i++) {
grid[i] = [];
for (var j = 0; j < fieldSize / cellSize; j++) {
grid[i][j] = Math.random() > 0.5 ? 1 : 0;
}
}
var canvas = document.createElement('canvas');
canvas.width = fieldSize;
canvas.height = fieldSize;
document.body.appendChild(canvas);
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'black';
ctx.fillRect(0, 0, fieldSize, fieldSize);
for (var i = 0; i < fieldSize / cellSize; i++) {
for (var j = 0; j < fieldSize / cellSize; j++) {
if (grid[i][j]...