JSFiddle - React, Tailwind, and code Playground
JavaScript
let height = 50
let canvas = [
"--------------------X--------------------"
]
for (let row = 1; row < height ; row++) {
let workingLine = ""
for (let column = 0; column < canvas[0].length; column++) {
let left = canvas[row - 1][column -1] || "-"
let center = canvas[row - 1][column]
let right = canvas[row - 1][column + 1] || "-";
let lookup = left + center + right
workingLine += lookup == "X--" || lookup == "--X" || lookup == "-XX" || lookup == "-X-" ? "X" : "-"
}
canvas.push(workingLine)
}
for (let line of canvas) {
console.log(line)
}