From 25a0550b4a00aa041c2602efc5574e85c45b5d9d Mon Sep 17 00:00:00 2001 From: Pierre Tellier Date: Sat, 20 Apr 2024 16:06:02 +0200 Subject: [PATCH] kinda working version --- src/Board.ts | 49 +++-- src/index.ts | 13 +- src/moooove.ts | 51 +++-- src/player.html | 497 ++++++++++++++++++++++++++++++++++++++++-------- src/style.css | 20 +- 5 files changed, 502 insertions(+), 128 deletions(-) diff --git a/src/Board.ts b/src/Board.ts index 1ef1280..f5c0141 100644 --- a/src/Board.ts +++ b/src/Board.ts @@ -1,3 +1,5 @@ +import {resetVar} from "./moooove"; + /** * return the WebBoard information */ @@ -20,7 +22,7 @@ function resizeBoard(staySquare: boolean = true) { const gameInfo = getWebBoardInfo(); const unit = window.innerHeight > window.innerWidth ? "vw" : "vh"; - const maxPercent = Math.min(100 / gameInfo.nbColumns, 100 / gameInfo.nbLines); + const maxPercent = Math.min(80 / gameInfo.nbColumns, 100 / gameInfo.nbLines); for (let i = 0; i < gameInfo.nbLines; i++) { const line = document.getElementById("line" + i); @@ -48,16 +50,30 @@ function resizeBoard(staySquare: boolean = true) { * @param id * @param lineMode default size to have a smooth animation */ -function createDiv(id: number, lineMode: boolean) { +function createDiv(id: number, lineMode: number) { const newDiv = document.createElement("div"); - if (lineMode) { + if (lineMode === 1) { newDiv.style.height = "0"; newDiv.style.width = '100%'; - } else { + } else if (lineMode === 0) { newDiv.style.height = "100%"; newDiv.style.width = "0"; + } else { // for the initial tile + newDiv.style.height = "100%"; + newDiv.style.width = "100%"; } newDiv.className = "gridTile tile" + id; + for (let j = 0; j < 5; j++) { + const line = document.createElement("div"); + line.className = "subLine"; + for (let i = 0; i < 5; i++) { + const elm = document.createElement('div'); + elm.className = "subTile"; + line.append(elm); + } + newDiv.append(line); + } + return newDiv; } @@ -76,7 +92,7 @@ function createRow(id: number, nbColumn: number) { newLine.style.height = "0"; for (let i = 0; i < nbColumn; i++) { - newLine.append(createDiv(i, true)); + newLine.append(createDiv(i, 1)); } return newLine; } @@ -128,7 +144,7 @@ function addColumnLeft() { } for (let i = 0; i < gameInfo.nbLines; i++) { - document.getElementById("line" + i)?.prepend(createDiv(0, false)); + document.getElementById("line" + i)?.prepend(createDiv(0, 0)); } setTimeout(resizeBoard, 10); @@ -138,7 +154,7 @@ function addColumnRight() { const gameInfo = getWebBoardInfo(); for (let i = 0; i < gameInfo.nbLines; i++) { - document.getElementById("line" + i)?.append(createDiv(gameInfo.nbColumns, false)); + document.getElementById("line" + i)?.append(createDiv(gameInfo.nbColumns, 0)); } setTimeout(resizeBoard, 10); } @@ -148,23 +164,18 @@ function addColumnRight() { * reset the WebBoard */ function clearBoard() { - const grid = document.getElementById("gameGrid"); + const grid = document.getElementById("board"); if (!grid) throw Error("error"); grid.innerHTML = ""; - for (let i = 0; i < 6; i++) { - const line = document.createElement("div"); - line.id = "line" + i; - line.className = "gridLine"; + const line0 = document.createElement('div'); + line0.className = "gridLine"; + line0.id = "line0"; + line0.append(createDiv(1, 2)); - for (let j = 0; j < 6; j++) { - const tile = document.createElement("div"); - tile.className = "gridTile tile" + j; - line.append(tile); - } - grid.append(line); - } + grid.append(line0); resizeBoard(); + resetVar(); } export { diff --git a/src/index.ts b/src/index.ts index 4dea684..d19df49 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ import {setGameInfo} from "./moooove"; -import {resizeBoard} from "./Board"; +import {clearBoard, resizeBoard} from "./Board"; type CrashGroup = { name: string; @@ -33,9 +33,11 @@ type CrashReport = { }; type Move = { - qsrc: number; - qdst: number; - adst: number; + x: number; + y: number; + id: number; + tile: { t: number[], c: number[], name: string, angle: string }; + }; type Game = { @@ -73,8 +75,9 @@ function main() { window.onload = ((e) => { main(); + clearBoard(); setGameInfo(); resizeBoard(); }); -export {games}; \ No newline at end of file +export {games, Move}; \ No newline at end of file diff --git a/src/moooove.ts b/src/moooove.ts index e972fb4..a215c62 100644 --- a/src/moooove.ts +++ b/src/moooove.ts @@ -1,11 +1,5 @@ -import {games} from "./index"; -import {addColumnLeft, addColumnRight, addRowAbove, addRowUnder} from "./Board"; - -type Move2 = { - player_id: number; - x: number; - y: number; -} +import {games, Move} from "./index"; +import {addColumnLeft, addColumnRight, addRowAbove, addRowUnder, clearBoard} from "./Board"; let min_x = 0; let max_x = 0; @@ -14,16 +8,28 @@ let max_y = 0; let gameIndex = 0; let gameMoveId = 0; +const playerColors = ["green", "blue", "purple"]; + +function resetVar() { + min_y = 0; + min_x = 0; + max_x = 0; + max_y = 0; + gameMoveId = 0; +} + /** * change the displayed game info to the previous/next game */ function switchPrevGame() { + clearBoard(); if (gameIndex > 0) gameIndex--; setGameInfo(); } function switchNextGame() { + clearBoard(); if (gameIndex < games.length - 1) gameIndex++; setGameInfo(); @@ -35,9 +41,12 @@ function switchNextGame() { function setGameInfo() { (document.getElementById("seed_disp")).innerText = games[gameIndex].seed + ""; (document.getElementById("player0_disp")).innerText = games[gameIndex].player0 + ""; + (document.getElementById("player0_disp")).style.color = playerColors[0]; (document.getElementById("player1_disp")).innerText = games[gameIndex].player1 + ""; + (document.getElementById("player1_disp")).style.color = playerColors[1]; (document.getElementById("winner_disp")).innerText = games[gameIndex].winner + ""; (document.getElementById("cause_disp")).innerText = games[gameIndex].cause + ""; + addMove(games[gameIndex]["moves"][0]); gameMoveId = 0; } @@ -83,7 +92,7 @@ function inInterval(x: number, a: number, b: number) { * resize the board and add the move to it * @param move */ -function addMove(move: Move2) { +function addMove(move: Move) { switch (inInterval(move.x, min_x, max_x)) { case 0: break; @@ -111,20 +120,30 @@ function addMove(move: Move2) { placeMove(move); } + +function setInnerTile(elm: HTMLElement, tile: number[]) { + const idx_to_cord = [[1, 0], [2, 0], [3, 0], [4, 1], [4, 2], [4, 3], [3, 4], [2, 4], [1, 4], [0, 3], [0, 2], [0, 1], [2, 2]]; + const nb_to_color = ["green", "gray", "blue", "#964B00", "purple", "gold", "#069AF3", "#420D08", "white"]; + for (let i = 0; i < 13; i++) { + const subLine = elm.children[idx_to_cord[i][1]]; + (subLine.children[idx_to_cord[i][0]]).style.background = nb_to_color[tile[i]]; + (subLine.children[idx_to_cord[i][0]]).innerText = i + " - " + tile[i]; + } +} + /** * there is the real adding part * @param move */ -function placeMove(move: Move2) { - console.log(`real coords: ${move.x - min_x} ${move.y - min_y}`); +function placeMove(move: Move) { const line = document.getElementById("line" + (move.y - min_y)); const box = line.children[move.x - min_x]; - box.style.background = 'darkblue'; - box.innerText = gameMoveId + "-> (" + move.x + ", " + move.y + ")"; - + box.style.border = "solid 5px " + (inInterval(move.id, 0, 1) === 0 ? playerColors[move.id] : playerColors[2]); + setInnerTile(box, move.tile.c); + box.style.rotate = move.tile.angle + "deg"; } -function removeMove(move: Move2) { +function removeMove(move: Move) { console.log(`real coords: ${move.x - min_x} ${move.y - min_y}`); const line = document.getElementById("line" + (move.y - min_y)); const box = line.children[move.x - min_x]; @@ -150,4 +169,4 @@ prevMoveButton.addEventListener("click", prevMove); lastMoveButton.addEventListener("click", tolastMove); firstMoveButton.addEventListener("click", toFirstMove); -export {setGameInfo, switchPrevGame}; \ No newline at end of file +export {setGameInfo, switchPrevGame, resetVar}; \ No newline at end of file diff --git a/src/player.html b/src/player.html index 6f2fbc2..c39f8d7 100644 --- a/src/player.html +++ b/src/player.html @@ -68,102 +68,431 @@
-
-
-
+
-
[
-{
-  "seed": 1881916104,
-  "player0": "Teisipyte",
-  "player1": "Teisipyte",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": -1, "y": 0 }, { "id": 1, "x": -1, "y": 1 }, { "id": 0, "x": -2, "y": 1 }, { "id": 1, "x": -1, "y": 2 }, { "id": 0, "x": -3, "y": 1 }, { "id": 1, "x": -3, "y": 0 } ],
-  "winner": "??",
-  "cause": "Maximal number of moves reached (7), game is a draw"
-}
+      
+[
+  {
+    "seed": 3544045162,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Teisipyte",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 0, "y": 1, "tile": { "t": [ 3, 3, 3, 3, 2, 1, 0, 0, 0, 1, 2, 3, 2 ], "c": [ 0, 0, 0, 0, 1, 0, 3, 3, 3, 0, 1, 0, 1 ], "name" : "init", "angle" : "180" } }, { "id": 0, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Teisipyte",
+    "cause": "Victory on points for player Teisipyte"
+  }
 ,
-{
-  "seed": 2130915275,
-  "player0": "Hippolyte",
-  "player1": "Full random player",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": 1, "y": 0 }, { "id": 1, "x": 8, "y": 4 }, { "id": 0, "x": 0, "y": -1 }, { "id": 1, "x": 8, "y": 8 }, { "id": 0, "x": 0, "y": -2 }, { "id": 1, "x": 2, "y": 0 } ],
-  "winner": "??",
-  "cause": "Maximal number of moves reached (7), game is a draw"
-}
+  {
+    "seed": 3544045162,
+    "mode": "no meeple",
+    "player0": "Teisipyte",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 4, 5, 6, 6, 7, 0, 0, 1, 2, 2, 3, 4, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": 1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 2, "y": 0, "tile": { "t": [ 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1 ], "c": [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "turn", "angle" : "90" } }, { "id": 1, "x": -1, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], "c": [ 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3 ], "name" : "castle12", "angle" : "0" } }, { "id": 0, "x": -2, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
 ,
-{
-  "seed": 2130915275,
-  "player0": "Full random player",
-  "player1": "Hippolyte",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": 4, "y": 8 }, { "id": 1, "x": 4, "y": 7 }, { "id": 0, "x": 6, "y": 8 }, { "id": 1, "x": 4, "y": 6 }, { "id": 0, "x": 3, "y": 2 }, { "id": 1, "x": 2, "y": 2 } ],
-  "winner": "??",
-  "cause": "Maximal number of moves reached (7), game is a draw"
-}
+  {
+    "seed": 2638926167,
+    "mode": "no meeple",
+    "player0": "Player_0b",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 1, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 1, "x": 0, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": 1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 1, "y": -1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } }, { "id": 1, "x": -1, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], "c": [ 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3 ], "name" : "castle12", "angle" : "0" } }, { "id": 1, "x": 0, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
 ,
-{
-  "seed": 2130915275,
-  "player0": "Hippolyte",
-  "player1": "Full random player",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": 1, "y": 0 }, { "id": 1, "x": 8, "y": 4 }, { "id": 0, "x": 0, "y": -1 }, { "id": 1, "x": 8, "y": 8 }, { "id": 0, "x": 0, "y": -2 }, { "id": 1, "x": 2, "y": 0 } ],
-  "winner": "??",
-  "cause": "Maximal number of moves reached (7), game is a draw"
-}
+  {
+    "seed": 890345227,
+    "mode": "no meeple",
+    "player0": "Player_0a",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 1, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 1, "x": 0, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": 1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 1, "y": -1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } }, { "id": 1, "x": -1, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], "c": [ 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3 ], "name" : "castle12", "angle" : "0" } }, { "id": 1, "x": 0, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
 ,
-{
-  "seed": 2130915275,
-  "player0": "Full random player",
-  "player1": "Hippolyte",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": 4, "y": 8 }, { "id": 1, "x": 4, "y": 7 }, { "id": 0, "x": 6, "y": 8 }, { "id": 1, "x": 4, "y": 6 }, { "id": 0, "x": 3, "y": 2 }, { "id": 1, "x": 2, "y": 2 } ],
-  "winner": "??",
-  "cause": "Maximal number of moves reached (7), game is a draw"
-}
+  {
+    "seed": 1188431381,
+    "mode": "no meeple",
+    "player0": "Basic Player",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": -1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": -1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": -2, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } }, { "id": 1, "x": 0, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], "c": [ 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3 ], "name" : "castle12", "angle" : "0" } }, { "id": 0, "x": -2, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 1, 2, 2, 1, 0, 0, 0, 0, 1 ], "c": [ 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "270" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
 ,
-{
-  "seed": 3336162595,
-  "player0": "Androdameia",
-  "player1": "Phoebe",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": -1, "y": 0 }, { "id": 1, "x": -2, "y": 0 }, { "id": 0, "x": 0, "y": -1 }, { "id": 1, "x": 1, "y": 0 }, { "id": 0, "x": 0, "y": -2 }, { "id": 1, "x": -1, "y": -2 } ],
-  "winner": "Phoebe",
-  "cause": "Victory on points for player Phoebe"
-}
+  {
+    "seed": 3544045162,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Teisipyte",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 0, "y": 1, "tile": { "t": [ 3, 3, 3, 3, 2, 1, 0, 0, 0, 1, 2, 3, 2 ], "c": [ 0, 0, 0, 0, 1, 0, 3, 3, 3, 0, 1, 0, 1 ], "name" : "init", "angle" : "180" } }, { "id": 0, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Teisipyte",
+    "cause": "Victory on points for player Teisipyte"
+  }
 ,
-{
-  "seed": 1127192704,
-  "player0": "Androdameia",
-  "player1": "Full random player",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": -1, "y": 0 }, { "id": 1, "x": 9, "y": 5 }, { "id": 0, "x": 9, "y": 6 }, { "id": 1, "x": 0, "y": 7 }, { "id": 0, "x": 9, "y": 7 }, { "id": 1, "x": 3, "y": 0 } ],
-  "winner": "??",
-  "cause": "Maximal number of moves reached (7), game is a draw"
-}
+  {
+    "seed": 2638926167,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Player_0b",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 2, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Player_0b",
+    "cause": "Pierre Du Caillou (id=0) has played a move with an invalid connection"
+  }
 ,
-{
-  "seed": 1127192704,
-  "player0": "Full random player",
-  "player1": "Androdameia",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": 1, "y": 9 }, { "id": 1, "x": 2, "y": 9 }, { "id": 0, "x": 9, "y": 0 }, { "id": 1, "x": 1, "y": 8 }, { "id": 0, "x": 0, "y": 3 }, { "id": 1, "x": 2, "y": 10 } ],
-  "winner": "Androdameia",
-  "cause": "Victory on points for player Androdameia"
-}
+  {
+    "seed": 890345227,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Player_0a",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 2, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Player_0a",
+    "cause": "Pierre Du Caillou (id=0) has played a move with an invalid connection"
+  }
 ,
-{
-  "seed": 1127192704,
-  "player0": "Androdameia",
-  "player1": "Full random player",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": -1, "y": 0 }, { "id": 1, "x": 9, "y": 5 }, { "id": 0, "x": 9, "y": 6 }, { "id": 1, "x": 0, "y": 7 }, { "id": 0, "x": 9, "y": 7 }, { "id": 1, "x": 3, "y": 0 } ],
-  "winner": "??",
-  "cause": "Maximal number of moves reached (7), game is a draw"
-}
+  {
+    "seed": 1188431381,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Basic Player",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 1, "y": -1, "tile": { "t": [ 1, 2, 3, 3, 3, 3, 3, 2, 1, 0, 0, 0, 2 ], "c": [ 0, 1, 0, 0, 0, 0, 0, 1, 0, 3, 3, 3, 1 ], "name" : "init", "angle" : "90" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Basic Player",
+    "cause": "Pierre Du Caillou (id=0) has played a move with an invalid connection"
+  }
 ,
-{
-  "seed": 1127192704,
-  "player0": "Full random player",
-  "player1": "Androdameia",
-  "moves": [ { "id": 4294967295, "x": 0, "y": 0 }, { "id": 0, "x": 1, "y": 9 }, { "id": 1, "x": 2, "y": 9 }, { "id": 0, "x": 9, "y": 0 }, { "id": 1, "x": 1, "y": 8 }, { "id": 0, "x": 0, "y": 3 }, { "id": 1, "x": 2, "y": 10 } ],
-  "winner": "Androdameia",
-  "cause": "Victory on points for player Androdameia"
-}
+  {
+    "seed": 794903401,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Jeune Cadre Dynamique",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Jeune Cadre Dynamique",
+    "cause": "Pierre Du Caillou (id=0) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 4111397969,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Player Random",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Player Random",
+    "cause": "Pierre Du Caillou (id=0) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 2505933510,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Jean Claude Van Dam",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 2, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Jean Claude Van Dam",
+    "cause": "Pierre Du Caillou (id=0) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 794903401,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "BENZEMA",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "BENZEMA (id=1) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 453684766,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Darkiki",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Darkiki (id=1) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 1693317923,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Full random player",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 3, "y": 3, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Full random player (id=1) has played a move that is not connected"
+  }
+,
+  {
+    "seed": 2013485057,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Bilal",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 2, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Bilal",
+    "cause": "Pierre Du Caillou (id=0) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 453684766,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "toto",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "toto (id=1) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 3611550182,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "5aoula",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "5aoula (id=1) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 1090912934,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "1Wassim",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 2, "y": 2, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "1Wassim (id=1) has played a move that is not connected"
+  }
+,
+  {
+    "seed": 794903401,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Claude",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Claude (id=1) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 773597948,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Misak0",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Misak0 (id=1) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 2013485057,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Mathieu",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Mathieu (id=1) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 1624906737,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Roland Le Maitre",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 1, "y": 1, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Roland Le Maitre (id=1) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 1436866379,
+    "mode": "no meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Thibault",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": -1662659984, "x": 32542, "y": -1662659984, "tile": { "t": [ 32542, -457958272, 22082, -457958272, 22082, -457982448, 22082, -457990160, 22082, 13, 0, 33, 0 ], "c": [ -457957888, 22082, -1662661408, 32542, 96, 0, 32, 0, -2137132079, 22087, 0, 0, 128 ], "name" : "init", "angle" : "-666" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Thibault (id=1) has not played the tile it's been given"
+  }
+,
+  {
+    "seed": 794903401,
+    "mode": "no meeple",
+    "player0": "Jeune Cadre Dynamique",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": -1, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": 1, "y": -1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": -2, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } }, { "id": 1, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], "c": [ 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3 ], "name" : "castle12", "angle" : "0" } }, { "id": 0, "x": 0, "y": 2, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
+,
+  {
+    "seed": 4111397969,
+    "mode": "no meeple",
+    "player0": "Player Random",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": 1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 1, "y": -1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } }, { "id": 1, "x": -1, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], "c": [ 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3 ], "name" : "castle12", "angle" : "0" } }, { "id": 0, "x": -2, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
+,
+  {
+    "seed": 2505933510,
+    "mode": "no meeple",
+    "player0": "Jean Claude Van Dam",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Jean Claude Van Dam (id=0) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 794903401,
+    "mode": "no meeple",
+    "player0": "BENZEMA",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 2, "y": 0, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "BENZEMA (id=0) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 453684766,
+    "mode": "no meeple",
+    "player0": "Darkiki",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": -1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": -1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": -1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
+,
+  {
+    "seed": 1693317923,
+    "mode": "no meeple",
+    "player0": "Full random player",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 3, "y": 3, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Full random player (id=0) has played a move that is not connected"
+  }
+,
+  {
+    "seed": 2013485057,
+    "mode": "no meeple",
+    "player0": "Bilal",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": -1, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": 1, "y": -1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 2, "y": -1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
+,
+  {
+    "seed": 453684766,
+    "mode": "no meeple",
+    "player0": "toto",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "toto (id=0) has played a move that is not connected"
+  }
+,
+  {
+    "seed": 3611550182,
+    "mode": "no meeple",
+    "player0": "Hanaa07",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Hanaa07 (id=0) has played a move that is not connected"
+  }
+,
+  {
+    "seed": 1090912934,
+    "mode": "no meeple",
+    "player0": "5aoula",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": -1, "x": 1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "5aoula (id=0) has played a move that is not connected"
+  }
+,
+  {
+    "seed": 794903401,
+    "mode": "no meeple",
+    "player0": "Claude",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "xroad", "angle" : "-666" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Claude (id=0) has not played the tile it's been given"
+  }
+,
+  {
+    "seed": 773597948,
+    "mode": "no meeple",
+    "player0": "Misak0",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "xroad", "angle" : "-666" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Misak0 (id=0) has not played the tile it's been given"
+  }
+,
+  {
+    "seed": 2013485057,
+    "mode": "no meeple",
+    "player0": "Mathieu",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Mathieu (id=0) has played a move that is not connected"
+  }
+,
+  {
+    "seed": 1624906737,
+    "mode": "no meeple",
+    "player0": "Roland Le Maitre",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Roland Le Maitre (id=0) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 1436866379,
+    "mode": "no meeple",
+    "player0": "Thibaud",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "xroad", "angle" : "-666" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Thibaud (id=0) has not played the tile it's been given"
+  }
+,
+  {
+    "seed": 2638926167,
+    "mode": "no meeple",
+    "player0": "Player_0b",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 1, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 1, "x": 0, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": 1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 1, "y": -1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } }, { "id": 1, "x": -1, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], "c": [ 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3 ], "name" : "castle12", "angle" : "0" } }, { "id": 1, "x": 0, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
+,
+  {
+    "seed": 2505933510,
+    "mode": "infinite meeple",
+    "player0": "Pierre Du Caillou",
+    "player1": "Jean Claude Van Dam",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": 2, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } } ],
+    "winner": "Jean Claude Van Dam",
+    "cause": "Pierre Du Caillou (id=0) has played a move with an invalid connection"
+  }
+,
+  {
+    "seed": 4111397969,
+    "mode": "no meeple",
+    "player0": "Player Random",
+    "player1": "Pierre Du Caillou",
+    "moves": [ { "id": -1, "x": 0, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 1, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 1, "x": -1, "y": 0, "tile": { "t": [ 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 2 ], "c": [ 3, 3, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 ], "name" : "init", "angle" : "0" } }, { "id": 0, "x": 0, "y": -1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "c": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "name" : "green", "angle" : "0" } }, { "id": 1, "x": 1, "y": 1, "tile": { "t": [ 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 0, 8 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 4 ], "name" : "xroad", "angle" : "0" } }, { "id": 0, "x": 1, "y": -1, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } }, { "id": 1, "x": -1, "y": 1, "tile": { "t": [ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], "c": [ 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3 ], "name" : "castle12", "angle" : "0" } }, { "id": 0, "x": -2, "y": 0, "tile": { "t": [ 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "c": [ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ], "name" : "turn", "angle" : "0" } } ],
+    "winner": "Pierre Du Caillou",
+    "cause": "Victory on points for player Pierre Du Caillou"
+  }
 ]
       
diff --git a/src/style.css b/src/style.css index f29e85a..c0b20d9 100644 --- a/src/style.css +++ b/src/style.css @@ -1,18 +1,24 @@ .board { - width: 100vw; - height: 100vh; + width: 80vw; + height: 80vh; background: black; } .gridTile { border: 1px solid white; color: white; - font-size: 5em; + font-size: 1em; +} + +.SubLine { + height: 20%; + display: flex; + flex-direction: row; } .gridLine { width: 100%; - height: 200px; + height: 100%; display: flex; flex-direction: row; } @@ -20,4 +26,10 @@ .column { height: 100%; width: 100%; +} + +.subTile { + width: 20%; + height: 100%; + border: 1px solid white; } \ No newline at end of file