summaryrefslogtreecommitdiff
path: root/client/src/gameState.ts
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-06-25 12:56:04 +0200
committerMike Vink <mike1994vink@gmail.com>2021-06-25 12:56:04 +0200
commit6bd8d0345e3ac653c3fad4f1c7a6352e8a4a166e (patch)
treef142d3f43add40c2dd56bc496d6b4ab497f31a3e /client/src/gameState.ts
parent38d59e2876b9f4d7c589d58295ef8acdf336a45b (diff)
parent102b25f18d9b269c58d15677f10cd71c15003c4b (diff)
Merge branch 'mvcFeature' into mainline
Diffstat (limited to 'client/src/gameState.ts')
-rw-r--r--client/src/gameState.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/client/src/gameState.ts b/client/src/gameState.ts
new file mode 100644
index 0000000..b276136
--- /dev/null
+++ b/client/src/gameState.ts
@@ -0,0 +1,27 @@
+
+export interface GameState {
+ players: [ Player, Player ]; // a player array contains exactly two Players
+ gameStatus: {
+ endOfGame: boolean;
+ };
+}
+
+interface Player {
+ name: string;
+ pits: Pit[];
+ type: "player1" | "player2"; // only "player1" and "player2" are valid options for this string
+ hasTurn: boolean;
+}
+
+interface Pit {
+ index: number;
+ nrOfStones: number;
+ state: PitState;
+ setPitState: (newPitState: PitState) => void;
+}
+
+
+interface PitState {
+ stoneElements: JSX.Element[] | undefined;
+ }
+