From 2c39fe1156f6e2c819e539fe4fb7112739ca1a2a Mon Sep 17 00:00:00 2001 From: Sorrel Bri Date: Thu, 16 Apr 2020 20:28:40 -0700 Subject: [PATCH] patch Game logic neighboring stone bug --- packages/server/services/Game.js | 2 +- packages/server/test/gameServices.spec.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/server/services/Game.js b/packages/server/services/Game.js index 3de7a1a..4f6132d 100644 --- a/packages/server/services/Game.js +++ b/packages/server/services/Game.js @@ -228,7 +228,7 @@ class Point { checkCapture = (Game) => { let opps = this.checkNeighbors(Game).filter(nbr => nbr.stone === Game.turn * -1 - && nbr.getLiberties().every(liberty => liberty === this)); + && nbr.getLiberties(Game).every(liberty => liberty === this)); for (let opp of opps) { if (opp.groupMembers.every(stone => stone.getLiberties().filter(liberty => liberty !== this).length === 0)) { this.capturing = this.capturing.concat(opp.groupMembers); diff --git a/packages/server/test/gameServices.spec.js b/packages/server/test/gameServices.spec.js index 9f146cb..f797d70 100644 --- a/packages/server/test/gameServices.spec.js +++ b/packages/server/test/gameServices.spec.js @@ -28,6 +28,14 @@ describe('game services', () => { } }) + it('game services places move next to stone', done => { + gameServices.initGame({ id: 1, handicap:4 }); + const afterMoveOne = gameServices.makeMove({ id: 1 }, { player: 'white', pos: { x: 4, y: 3 } }); + afterMoveOne.should.not.eql(fourHandicapBoard); + console.log (afterMoveOne) + done(); + }) + })