├── README.md ├── random.js ├── base.js ├── 30.html ├── ca.html ├── random.html ├── glidergun.html ├── glidergun.js ├── index.html ├── name.js ├── name.html ├── 30.js ├── ca.js └── game.js /README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /random.js: -------------------------------------------------------------------------------- 1 | var grid = new Array(50) 2 | for (var i = 0; i < 50; i++) { 3 | grid[i] = new Array(50) 4 | } 5 | 6 | for (var i = 0; i < 50; i++) { 7 | for (var j = 0; j < 50; j++) { 8 | if (i === 0 || j === 0 || i === 49 || j === 49) { 9 | grid[i][j] = 0 10 | } else { 11 | grid[i][j] = Math.floor(Math.random() * 2) 12 | } 13 | } 14 | } 15 | 16 | game = new Game(grid); 17 | -------------------------------------------------------------------------------- /base.js: -------------------------------------------------------------------------------- 1 | p5.disableFriendlyErrors = true; // disables FES 2 | 3 | var game = null; 4 | var gameCanvas = null; 5 | 6 | var screenProperties = { 7 | width: 640, 8 | height: 480, 9 | } 10 | 11 | function setup() { 12 | var size = min(windowWidth - 10, windowHeight - 10, 640) 13 | screenProperties.width = size; 14 | screenProperties.height = size; 15 | gameCanvas = createCanvas(screenProperties.width, screenProperties.height); 16 | gameCanvas.parent('sketch'); 17 | frameRate(10) 18 | } 19 | 20 | function draw() { 21 | game.run() 22 | } 23 | -------------------------------------------------------------------------------- /30.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ca.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /random.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /glidergun.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /glidergun.js: -------------------------------------------------------------------------------- 1 | var text = ` 2 | # # 3 | # # # 4 | ## # 5 | ` 6 | 7 | function setupGameOnText() { 8 | var lines = text.split('\n'); 9 | var textRows = lines.length; 10 | var textCols = Math.max(...lines.map(x => x.length || 0)); 11 | 12 | var rows, cols; 13 | rows = cols = Math.max(textRows, textCols) + 2; 14 | 15 | var rowsOffset = Math.round((rows - textRows)/2); 16 | var colsOffset = Math.round((cols - textCols)/2); 17 | 18 | var grid = new Array(rows) 19 | for (var i = 0; i < rows; i++) { 20 | grid[i] = new Array(cols) 21 | } 22 | 23 | for (var i = 1; i < textRows; i++) { 24 | for (var j = 1; j < textCols; j++) { 25 | grid[i + rowsOffset][j + colsOffset] = lines[i].charAt(j) === '#' ? 1 : 0; 26 | } 27 | } 28 | 29 | game = new Game(grid); 30 | } 31 | 32 | setupGameOnText() 33 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |