@@ -3,45 +3,32 @@ const tileImages = [];
33
44let grid = [ ] ;
55
6- const DIM = 20 ;
6+ const DIM = 25 ;
77
88function preload ( ) {
99 const path = "circuit" ;
10- tileImages [ 0 ] = loadImage ( `${ path } /0.png` ) ;
11- tileImages [ 1 ] = loadImage ( `${ path } /1.png` ) ;
12- tileImages [ 2 ] = loadImage ( `${ path } /2.png` ) ;
13- tileImages [ 3 ] = loadImage ( `${ path } /3.png` ) ;
14- tileImages [ 4 ] = loadImage ( `${ path } /4.png` ) ;
15- tileImages [ 5 ] = loadImage ( `${ path } /5.png` ) ;
16- tileImages [ 6 ] = loadImage ( `${ path } /6.png` ) ;
17- tileImages [ 7 ] = loadImage ( `${ path } /7.png` ) ;
18- tileImages [ 8 ] = loadImage ( `${ path } /8.png` ) ;
19- tileImages [ 9 ] = loadImage ( `${ path } /9.png` ) ;
20- tileImages [ 10 ] = loadImage ( `${ path } /10.png` ) ;
21- tileImages [ 11 ] = loadImage ( `${ path } /11.png` ) ;
22- tileImages [ 12 ] = loadImage ( `${ path } /12.png` ) ;
23- tileImages [ 13 ] = loadImage ( `${ path } /4f.png` ) ;
10+ for ( let i = 0 ; i < 13 ; i ++ ) {
11+ tileImages [ i ] = loadImage ( `${ path } /${ i } .png` ) ;
12+ }
2413}
2514
2615function setup ( ) {
2716 createCanvas ( 800 , 800 ) ;
28- // randomSeed(1);
2917
3018 // Loaded and created the tiles
31- tiles [ 0 ] = new Tile ( tileImages [ 0 ] , [ 0 , 0 , 0 , 0 ] ) ;
32- tiles [ 1 ] = new Tile ( tileImages [ 1 ] , [ 1 , 1 , 1 , 1 ] ) ;
33- tiles [ 2 ] = new Tile ( tileImages [ 2 ] , [ 1 , 2 , 1 , 1 ] ) ;
34- tiles [ 3 ] = new Tile ( tileImages [ 3 ] , [ 1 , 3 , 1 , 3 ] ) ;
35- tiles [ 4 ] = new Tile ( tileImages [ 4 ] , [ 4 , 2 , 4 , 0 ] ) ;
36- tiles [ 5 ] = new Tile ( tileImages [ 5 ] , [ 4 , 1 , 1 , 5 ] ) ;
37- tiles [ 6 ] = new Tile ( tileImages [ 6 ] , [ 1 , 2 , 1 , 2 ] ) ;
38- tiles [ 7 ] = new Tile ( tileImages [ 7 ] , [ 3 , 2 , 3 , 2 ] ) ;
39- tiles [ 8 ] = new Tile ( tileImages [ 8 ] , [ 3 , 1 , 2 , 1 ] ) ;
40- tiles [ 9 ] = new Tile ( tileImages [ 9 ] , [ 2 , 2 , 1 , 2 ] ) ;
41- tiles [ 10 ] = new Tile ( tileImages [ 10 ] , [ 2 , 2 , 2 , 2 ] ) ;
42- tiles [ 11 ] = new Tile ( tileImages [ 11 ] , [ 2 , 2 , 1 , 1 ] ) ;
43- tiles [ 12 ] = new Tile ( tileImages [ 12 ] , [ 1 , 2 , 1 , 2 ] ) ;
44- tiles [ 13 ] = new Tile ( tileImages [ 13 ] , [ 5 , 0 , 5 , 2 ] ) ;
19+ tiles [ 0 ] = new Tile ( tileImages [ 0 ] , [ "AAA" , "AAA" , "AAA" , "AAA" ] ) ;
20+ tiles [ 1 ] = new Tile ( tileImages [ 1 ] , [ "BBB" , "BBB" , "BBB" , "BBB" ] ) ;
21+ tiles [ 2 ] = new Tile ( tileImages [ 2 ] , [ "BBB" , "BCB" , "BBB" , "BBB" ] ) ;
22+ tiles [ 3 ] = new Tile ( tileImages [ 3 ] , [ "BBB" , "BDB" , "BBB" , "BDB" ] ) ;
23+ tiles [ 4 ] = new Tile ( tileImages [ 4 ] , [ "ABB" , "BCB" , "BBA" , "AAA" ] ) ;
24+ tiles [ 5 ] = new Tile ( tileImages [ 5 ] , [ "ABB" , "BBB" , "BBB" , "BBA" ] ) ;
25+ tiles [ 6 ] = new Tile ( tileImages [ 6 ] , [ "BBB" , "BCB" , "BBB" , "BCB" ] ) ;
26+ tiles [ 7 ] = new Tile ( tileImages [ 7 ] , [ "BDB" , "BCB" , "BDB" , "BCB" ] ) ;
27+ tiles [ 8 ] = new Tile ( tileImages [ 8 ] , [ "BDB" , "BBB" , "BCB" , "BBB" ] ) ;
28+ tiles [ 9 ] = new Tile ( tileImages [ 9 ] , [ "BCB" , "BCB" , "BBB" , "BCB" ] ) ;
29+ tiles [ 10 ] = new Tile ( tileImages [ 10 ] , [ "BCB" , "BCB" , "BCB" , "BCB" ] ) ;
30+ tiles [ 11 ] = new Tile ( tileImages [ 11 ] , [ "BCB" , "BCB" , "BBB" , "BBB" ] ) ;
31+ tiles [ 12 ] = new Tile ( tileImages [ 12 ] , [ "BBB" , "BCB" , "BBB" , "BCB" ] ) ;
4532
4633 for ( let i = 2 ; i < 14 ; i ++ ) {
4734 for ( let j = 1 ; j < 4 ; j ++ ) {
@@ -59,6 +46,10 @@ function setup() {
5946 tile . analyze ( tiles ) ;
6047 }
6148
49+ startOver ( ) ;
50+ }
51+
52+ function startOver ( ) {
6253 // Create cell for each spot on the grid
6354 for ( let i = 0 ; i < DIM * DIM ; i ++ ) {
6455 grid [ i ] = new Cell ( tiles . length ) ;
@@ -130,6 +121,10 @@ function draw() {
130121 const cell = random ( gridCopy ) ;
131122 cell . collapsed = true ;
132123 const pick = random ( cell . options ) ;
124+ if ( pick === undefined ) {
125+ startOver ( ) ;
126+ return ;
127+ }
133128 cell . options = [ pick ] ;
134129
135130 const nextGrid = [ ] ;
0 commit comments