diff --git a/client/src/Board.js b/client/src/Board.js
index dafee6b..f23906d 100644
--- a/client/src/Board.js
+++ b/client/src/Board.js
@@ -52,7 +52,7 @@ const Board = ({ game }) => {
top: `${road.top}px`,
left: `${road.left}px`
}}
- />;
+ >{road.index};
};
const Corner = ({corner}) => {
@@ -74,7 +74,7 @@ const Board = ({ game }) => {
top: `${corner.top}px`,
left: `${corner.left}px`
}}
- />;
+ >;
};
const generateRoads = () => {
@@ -253,6 +253,7 @@ const Board = ({ game }) => {
let row = 0, rowCount = 0;
let y = tileHalfWidth - (rows.length - 1) * 0.5 * tileWidth,
x = -(rows[row] - 1) * 0.5 * tileHeight;
+ let index = 0;
return game.tileOrder.map(order => {
const tile = game.tiles[order];
let div =
{
backgroundImage: `url(${assetsPath}/gfx/tiles-${tile.type}.png)`,
backgroundPositionY: `-${tile.card*tileHeight}px`
}}
- />;
+ >
;
if (++rowCount === rows[row]) {
row++;
diff --git a/server/routes/games.js b/server/routes/games.js
index 1932631..a7c16cc 100755
--- a/server/routes/games.js
+++ b/server/routes/games.js
@@ -34,6 +34,206 @@ function shuffle(array) {
return array;
}
+/* Board Tiles:
+ * 0 1 2
+ * 3 4 5 6
+ * 7 8 9 10 11
+ * 12 13 14 15
+ * 16 17 18
+ */
+
+/*
+ * c0
+ * /\
+ * r0 / \r1
+ * c6 / \ c1
+ * | |
+ * r6| p,a | r2
+ * c5| | c3
+ * \ /
+ * r5 \ / r3
+ * \/
+ * c4
+ */
+
+/*
+* 1| 3| 5|
+* / \ / \ / \
+* 0/ 1\ 3/ 4\ 6/ 7\
+* / \ / \ / \
+* 0| 2| 4| |6
+* 2| 0 5| 1 8| 2 |9
+* 8| 10| 12| |14
+* / \ / \ / \ / \
+* 10/ 11\ 13/ 14\ 16/ 17\ 19/ 20\
+* / \ / \ / \ / \
+* 7| 9| 11| 13| |15
+* 12| 3 15| 4 18| 5 21| 6 |22
+* 17| 19| 21| 23| |25
+* / \ / \ / \ / \ / \
+* 23/ 24\ 26/ 27\ 29/ 30\ 32/ 33\ 35/ 36\
+* / \ / \ / \ / \ / \
+* 16| 18| 20| 22| 24| |26
+* 25| 7 28| 8 31| 9 34| 10 37| 11 |38
+* 27| 29| 31| 33| 35| |37
+* \ / \ / \ / \ / \ /
+* 39\ 40/ 41\ 43/ 44\ 46/ 47\ 49/ 50\ /53
+* \ / \ / \ / \ / \ /
+* 28| 30| 32| 34| |36
+* 42| 12 45| 13 48| 14 51| 15 |52
+* 38| 40| 42| 44| |46
+* \ / \ / \ / \ /
+* 54\ 55/ 56\ 58/ 59\ 61/ 62\ /65
+* \ / \ / \ / \ /
+* 39| 41| 43| |45
+* 57| 16 60| 17 63| 18 |64
+* 47| 49| 51| |53
+* \ / \ / \ /
+* 66\ 67/ 68\ 69/ 70\ /71
+* \ / \ / \ /
+* 48| 50| 52|
+*
+*/
+const Tile = (corners, roads) => {
+ return {
+ corners: corners, /* 6 */
+ pip: -1,
+ roads: roads,
+ asset: -1
+ };
+};
+
+/* Borders have three sections each, so they are numbered
+ * 0-17 clockwise. Some corners share two borders. */
+
+const Corner = (roads, banks) => {
+ return {
+ roads: roads, /* max of 3 */
+ banks: banks, /* max of 2 */
+ data: undefined
+ };
+};
+
+const Road = (corners) => {
+ return {
+ corners: corners, /* 2 */
+ data: undefined
+ }
+}
+
+const layout = {
+ tiles: [
+ Tile([ 0, 1, 2, 10, 9, 8], [ 0, 1, 5, 13, 11, 2]),
+ Tile([ 2, 3, 4, 12, 11, 10], [ 3, 4, 8, 16, 14, 5]),
+ Tile([ 4, 5, 6, 14, 13, 12], [ 6, 7, 9, 19, 17, 8]),
+
+ Tile([ 7, 8, 9, 19, 18, 17], [ 10, 11, 15, 26, 24, 12]),
+ Tile([ 9, 10, 11, 21, 20, 19], [ 13, 14, 18, 29, 27, 15]),
+ Tile([ 11, 12, 13, 23, 22, 21], [ 16, 17, 21, 32, 30, 18]),
+ Tile([ 13, 14, 15, 25, 24, 23], [ 19, 20, 22, 35, 33, 21]),
+
+ Tile([ 16, 17, 18, 29, 28, 27], [ 23, 24, 18, 40, 39, 25]),
+ Tile([ 18, 19, 20, 31, 30, 29], [ 26, 27, 31, 43, 41, 28]),
+ Tile([ 20, 21, 22, 33, 32, 31], [ 29, 30, 34, 46, 44, 31]),
+ Tile([ 22, 23, 24, 35, 34, 33], [ 32, 33, 37, 49, 47, 34]),
+ Tile([ 24, 25, 26, 37, 36, 35], [ 35, 36, 38, 53, 50, 37]),
+
+ Tile([ 28, 29, 30, 40, 39, 38], [ 40, 41, 45, 55, 54, 42]),
+ Tile([ 30, 31, 32, 42, 41, 40], [ 43, 44, 48, 58, 56, 45]),
+ Tile([ 32, 33, 34, 44, 43, 42], [ 46, 47, 51, 61, 59, 48]),
+ Tile([ 34, 35, 36, 46, 45, 44], [ 49, 50, 52, 65, 62, 51]),
+
+ Tile([ 39, 40, 41, 49, 48, 47], [ 55, 56, 60, 67, 66, 57]),
+ Tile([ 41, 42, 43, 51, 50, 49], [ 58, 59, 63, 69, 68, 60]),
+ Tile([ 43, 44, 45, 53, 52, 51], [ 61, 62, 64, 71, 70, 63])
+ ],
+ roads: [
+ /* 0 */
+ Road([0, 1]),
+ Road([1, 2]),
+ Road([0, 8]),
+ Road([2, 3]),
+ Road([3, 4]),
+ Road([2, 10]),
+ Road([4, 5]),
+ Road([5, 6]),
+ Road([4, 12]),
+ Road([6, 14]),
+ /* 10 */
+ Road([8, 7]),
+ Road([8, 9]),
+ Road([7, 17]),
+ Road([9, 10]),
+ Road([10, 11]),
+ Road([9, 19]),
+ Road([12, 11]),
+ Road([12, 13]),
+ Road([11, 21]),
+ Road([14, 13]),
+ /* 20 */
+ Road([14, 15]),
+ Road([13,23 ]),
+ Road([15, 25]),
+ Road([17, 16]),
+ Road([17, 18]),
+ Road([16, 27]),
+ Road([19, 18]),
+ Road([19, 20]),
+ Road([18, 29]),
+ Road([21, 20]),
+ /* 30 */
+ Road([21, 22]),
+ Road([20, 31]),
+ Road([23, 22]),
+ Road([23, 24]),
+ Road([22,33]),
+ Road([25,24]),
+ Road([25,26]),
+ Road([24, 35]),
+ Road([26,37]),
+ Road([27,28]),
+ /* 40 */
+ Road([29,28]),
+ Road([29,30]),
+ Road([28,38]),
+ Road([31,30]),
+ Road([31,32]),
+ Road([30,40]),
+ Road([33,32]),
+ Road([33,34]),
+ Road([32,42]),
+ Road([35,34]),
+ /* 50 */
+ Road([35,36]),
+ Road([34,44]),
+ Road([36,46]),
+ Road([37,36]),
+ Road([38,39]),
+ Road([40,39]),
+ Road([40,41]),
+ Road([39,47]),
+ Road([41,42]),
+ Road([42,43]),
+ /* 60 */
+ Road([41,49]),
+ Road([44,43]),
+ Road([44,45]),
+ Road([43,51]),
+ Road([45,53]),
+ Road([46,45]),
+ Road([47,48]),
+ Road([49,48]),
+ Road([49,50]),
+ Road([51,50]),
+ /* 70 */
+ Road([51,52]),
+ Road([53,52]),
+ ],
+ corners: [
+
+ ]
+}
+
const assetData = {
tiles: [
{ type: "desert", card: 0 },