From 225152eff355fad294a38f27a00369ea99bee8a2 Mon Sep 17 00:00:00 2001 From: Halit Aksoy Date: Mon, 2 May 2022 00:43:12 +0300 Subject: [PATCH] add common game --- src/common/CommonBoard.ts | 10 ++++++++++ src/common/CommonMancalaGame.ts | 14 ++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/common/CommonBoard.ts create mode 100644 src/common/CommonMancalaGame.ts diff --git a/src/common/CommonBoard.ts b/src/common/CommonBoard.ts new file mode 100644 index 0000000..a77667c --- /dev/null +++ b/src/common/CommonBoard.ts @@ -0,0 +1,10 @@ +import { Board } from '../core/Board'; + +const pitCountByUser = 6; +const initialStoneCountInPit = 4; + +export class CommonBoard extends Board { + constructor() { + super(pitCountByUser, initialStoneCountInPit); + } +} diff --git a/src/common/CommonMancalaGame.ts b/src/common/CommonMancalaGame.ts new file mode 100644 index 0000000..ff18f96 --- /dev/null +++ b/src/common/CommonMancalaGame.ts @@ -0,0 +1,14 @@ +import { MancalaGame } from '../core/MancalaGame'; +import { Player } from '../core/Player'; +import { CommonBoard } from './CommonBoard'; +import { GRLastStoneInBank } from './game_rules/GRLastStoneInBank'; +import { GRLastStoneInEmptyPit } from './game_rules/GRLastStoneInEmptyPit'; + +export class CommonMancalaGame extends MancalaGame { + constructor(player1: Player, player2: Player) { + super(new CommonBoard(), player1, player2, player1.id, [ + new GRLastStoneInEmptyPit(), + new GRLastStoneInBank() + ]); + } +}