View difference between Paste ID: Bizs3mHp and XA82KuJz
SHOW: | | - or go back to the newest paste.
1
private void initTiles()
2
{
3
	// Forgive me Gang of Four wherever you are.
4-
	//4 fields, 4 forest, 4 pasture, 3 mountains, 3 hills, 1 desert
4+
	/* 4 fields, 4 forest, 4 pasture, 3 mountains, 3 hills, 1 desert
5-
	//19 total
5+
	   19 total
6-
	// + 18 water
6+
	   + water */
7-
	Tile.UnfinishedTile t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11,
7+
	/* These 18+1 tiles represent the positions (hungarian-notated as p)
8-
		t12, t13, t14, t15, t16, t17, t18, water;
8+
	   on the board. Their roll numbers and terrain types will be assigned
9-
	//This line initializes all the ts to null so that I can refer to them
9+
	   randomly, from the contents of a game box. */
10-
	//later, because otherwise it thinks the try block can fail and leave
10+
	Tile.UnfinishedTile p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11,
11-
	//them uninitialized, even though the exception is never actually
11+
		p12, p13, p14, p15, p16, p17, p18, water;
12-
	//thrown.
12+
	/* This line initializes all the ts to null so that I can refer to them
13-
	t0=t1=t2=t3=t4=t5=t6=t7=t8=t9=t10=t11=t12=t13=t14=t15=t16=t17=t18=null;
13+
	   later, because otherwise it thinks the try block can fail and leave
14
	   them uninitialized, even though the exception is never actually
15
	   thrown. */
16
	p0=p1=p2=p3=p4=p5=p6=p7=p8=p9=p10=p11=p12=p13=p14=p15=p16=p17=p18=null;
17
	water = null;
18
	/* These numbers are the tokens that come in the box: */
19-
	  FIELD, FIELD, FIELD, FIELD,
19+
20-
	  FOREST, FOREST, FOREST, FOREST,
20+
21-
	  PASTURE, PASTURE, PASTURE, PASTURE,
21+
22-
	  MOUNTAIN, MOUNTAIN, MOUNTAIN,
22+
	/* And these are how many of each terrain type comes in the box: */
23-
	  HILL, HILL, HILL,
23+
24-
	  DESERT
24+
		FIELD, FIELD, FIELD, FIELD,
25
		FOREST, FOREST, FOREST, FOREST,
26-
	try {
26+
		PASTURE, PASTURE, PASTURE, PASTURE,
27
		MOUNTAIN, MOUNTAIN, MOUNTAIN,
28-
		t0 = new Tile.UnfinishedTile(ts[i], ns[i++]);
28+
		HILL, HILL, HILL,
29-
		t1 = new Tile.UnfinishedTile(ts[i], ns[i++]);
29+
		DESERT
30-
		t2 = new Tile.UnfinishedTile(ts[i], ns[i++]);
30+
31-
		t3 = new Tile.UnfinishedTile(ts[i], ns[i++]);
31+
	try { /* Here we're assigning the terrains (ts) and the numbers (ns) */
32-
		t4 = new Tile.UnfinishedTile(ts[i], ns[i++]);
32+
33-
		t5 = new Tile.UnfinishedTile(ts[i], ns[i++]);
33+
		p0 = new Tile.UnfinishedTile(ts[i], ns[i++]);
34-
		t6 = new Tile.UnfinishedTile(ts[i], ns[i++]);
34+
		p1 = new Tile.UnfinishedTile(ts[i], ns[i++]);
35-
		t7 = new Tile.UnfinishedTile(ts[i], ns[i++]);
35+
		p2 = new Tile.UnfinishedTile(ts[i], ns[i++]);
36-
		t8 = new Tile.UnfinishedTile(ts[i], ns[i++]);
36+
		p3 = new Tile.UnfinishedTile(ts[i], ns[i++]);
37-
		t9 = new Tile.UnfinishedTile(ts[i], ns[i++]);
37+
		p4 = new Tile.UnfinishedTile(ts[i], ns[i++]);
38-
		t10 = new Tile.UnfinishedTile(ts[i], ns[i++]);
38+
		p5 = new Tile.UnfinishedTile(ts[i], ns[i++]);
39-
		t11 = new Tile.UnfinishedTile(ts[i], ns[i++]);
39+
		p6 = new Tile.UnfinishedTile(ts[i], ns[i++]);
40-
		t12 = new Tile.UnfinishedTile(ts[i], ns[i++]);
40+
		p7 = new Tile.UnfinishedTile(ts[i], ns[i++]);
41-
		t13 = new Tile.UnfinishedTile(ts[i], ns[i++]);
41+
		p8 = new Tile.UnfinishedTile(ts[i], ns[i++]);
42-
		t14 = new Tile.UnfinishedTile(ts[i], ns[i++]);
42+
		p9 = new Tile.UnfinishedTile(ts[i], ns[i++]);
43-
		t15 = new Tile.UnfinishedTile(ts[i], ns[i++]);
43+
		p10 = new Tile.UnfinishedTile(ts[i], ns[i++]);
44-
		t16 = new Tile.UnfinishedTile(ts[i], ns[i++]);
44+
		p11 = new Tile.UnfinishedTile(ts[i], ns[i++]);
45-
		t17 = new Tile.UnfinishedTile(ts[i], ns[i++]);
45+
		p12 = new Tile.UnfinishedTile(ts[i], ns[i++]);
46-
		t18 = new Tile.UnfinishedTile(ts[i], ns[i]);
46+
		p13 = new Tile.UnfinishedTile(ts[i], ns[i++]);
47
		p14 = new Tile.UnfinishedTile(ts[i], ns[i++]);
48
		p15 = new Tile.UnfinishedTile(ts[i], ns[i++]);
49
		p16 = new Tile.UnfinishedTile(ts[i], ns[i++]);
50
		p17 = new Tile.UnfinishedTile(ts[i], ns[i++]);
51-
	t0.setNeighbors(water, water, t2, t4, t1, water);
51+
		p18 = new Tile.UnfinishedTile(ts[i], ns[i]);
52-
	t1.setNeighbors(water, t0, t4, t6, t3, water);
52+
53-
	t2.setNeighbors(water, water, t5, t7, t4, t0);
53+
54-
	t3.setNeighbors(water, t1, t6, t8, water, water);
54+
55-
	t4.setNeighbors(t0, t2, t7, t9, t6, t1);
55+
		/* This exception is never thrown by any code, but it exists as
56-
	t5.setNeighbors(water, water, water, t10, t7, t2);
56+
		   a checked exception to ensure that everyone who uses an
57-
	t6.setNeighbors(t1, t4, t9, t11, t8, t3);
57+
		   UnfinishedTile is reminded and forced to acknowledge that the
58-
	t7.setNeighbors(t2, t5, t10, t12, t9, t4);
58+
		   tile is unfinished and its neighbors must be set */
59-
	t8.setNeighbors(t3, t6, t11, t13, water, water);
59+
60-
	t9.setNeighbors(t4, t7, t12, t14, t11, t6);
60+
	/* We know about magic numbers and magic strings, here's magic code.
61-
	t10.setNeighbors(t5, water, water, t15, t12, t7);
61+
	   I came up with this unreadable abomination by taking a hex grid
62-
	t11.setNeighbors(t6, t9, t14, t16, t13, t8);
62+
	   and labelling it in an organized manner with its positions.
63-
	t12.setNeighbors(t7, t10, t15, t17, t14, t9);
63+
	   Then I transcribed the neighbors of each hex into this code.
64-
	t13.setNeighbors(t8, t11, t16, water, water, water);
64+
	 */
65-
	t14.setNeighbors(t9, t12, t17, t18, t16, t11);
65+
	p0.setNeighbors(water, water, p2, p4, p1, water);
66-
	t15.setNeighbors(t10, water, water, water, t17, t12);
66+
	p1.setNeighbors(water, p0, p4, p6, p3, water);
67-
	t16.setNeighbors(t11, t14, t18, water, water, t13);
67+
	p2.setNeighbors(water, water, p5, p7, p4, p0);
68-
	t17.setNeighbors(t12, t15, water, water, t18, t14);
68+
	p3.setNeighbors(water, p1, p6, p8, water, water);
69-
	t18.setNeighbors(t14, t17, water, water, water, t16);
69+
	p4.setNeighbors(p0, p2, p7, p9, p6, p1);
70
	p5.setNeighbors(water, water, water, p10, p7, p2);
71
	p6.setNeighbors(p1, p4, p9, p11, p8, p3);
72
	p7.setNeighbors(p2, p5, p10, p12, p9, p4);
73
	p8.setNeighbors(p3, p6, p11, p13, water, water);
74
	p9.setNeighbors(p4, p7, p12, p14, p11, p6);
75
	p10.setNeighbors(p5, water, water, p15, p12, p7);
76
	p11.setNeighbors(p6, p9, p14, p16, p13, p8);
77
	p12.setNeighbors(p7, p10, p15, p17, p14, p9);
78
	p13.setNeighbors(p8, p11, p16, water, water, water);
79
	p14.setNeighbors(p9, p12, p17, p18, p16, p11);
80
	p15.setNeighbors(p10, water, water, water, p17, p12);
81
	p16.setNeighbors(p11, p14, p18, water, water, p13);
82
	p17.setNeighbors(p12, p15, water, water, p18, p14);
83
	p18.setNeighbors(p14, p17, water, water, water, p16);
84
}