@@ -3,45 +3,32 @@ const tileImages = [];
3
3
4
4
let grid = [ ] ;
5
5
6
- const DIM = 20 ;
6
+ const DIM = 25 ;
7
7
8
8
function preload ( ) {
9
9
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
+ }
24
13
}
25
14
26
15
function setup ( ) {
27
16
createCanvas ( 800 , 800 ) ;
28
- // randomSeed(1);
29
17
30
18
// 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" ] ) ;
45
32
46
33
for ( let i = 2 ; i < 14 ; i ++ ) {
47
34
for ( let j = 1 ; j < 4 ; j ++ ) {
@@ -59,6 +46,10 @@ function setup() {
59
46
tile . analyze ( tiles ) ;
60
47
}
61
48
49
+ startOver ( ) ;
50
+ }
51
+
52
+ function startOver ( ) {
62
53
// Create cell for each spot on the grid
63
54
for ( let i = 0 ; i < DIM * DIM ; i ++ ) {
64
55
grid [ i ] = new Cell ( tiles . length ) ;
@@ -130,6 +121,10 @@ function draw() {
130
121
const cell = random ( gridCopy ) ;
131
122
cell . collapsed = true ;
132
123
const pick = random ( cell . options ) ;
124
+ if ( pick === undefined ) {
125
+ startOver ( ) ;
126
+ return ;
127
+ }
133
128
cell . options = [ pick ] ;
134
129
135
130
const nextGrid = [ ] ;
0 commit comments