diff --git a/packages/server/services/Game.v2.js b/packages/server/services/Game.v2.js index 0ad5770..abffe41 100644 --- a/packages/server/services/Game.v2.js +++ b/packages/server/services/Game.v2.js @@ -197,7 +197,7 @@ const Game = ({gameData = {}, gameRecord = []} = {}) => ({ || ( game.turn === -1 && player === 'white' ); if (isTurn) { if (point.legal) { - game = point.makeMove(game); + point.makeMove(game); game.turn *= -1; success = true; } diff --git a/packages/server/test/Game.v2.spec.js b/packages/server/test/Game.v2.spec.js index 1af00df..a83fc8a 100644 --- a/packages/server/test/Game.v2.spec.js +++ b/packages/server/test/Game.v2.spec.js @@ -273,7 +273,7 @@ describe('makeMove group join and capture logic', () => { done(); }); - const multiCaptureGame = Game().initGame() + const multiCaptureGame = () => Game().initGame() .makeMove({ player: 'black', pos: { x: 4, y: 17 } }) .makeMove({ player: 'white', pos: { x: 3, y: 16 } }) .makeMove({ player: 'black', pos: { x: 5, y: 16 } }) @@ -290,26 +290,26 @@ describe('makeMove group join and capture logic', () => { .makeMove({ player: 'black', pos: { x: 6, y: 3 } }); it('smoke test multi stone group capture', done => { - multiCaptureGame.makeMove({ player: 'white', pos: { x: 6, y: 16} }) + multiCaptureGame().makeMove({ player: 'white', pos: { x: 6, y: 16} }) .success.should.eql(true); done(); }) it('multi stone group full group is in capturing', done => { - const group = multiCaptureGame.boardState['5-16'].group; - console.log(multiCaptureGame.groups[group].liberties) - console.log(multiCaptureGame.boardState['4-16'].capturing) - multiCaptureGame.boardState['6-16'].capturing[-1][0].should.eql(group); + const game = multiCaptureGame() + const group = game.boardState['4-16'].group; + game.boardState['6-16'].capturing[-1][0].should.eql(group); done(); }) - // it('multi stone group capture all points are 0', done => { - // const boardState = multiCaptureGame.makeMove({ player: 'white', pos: { x: 6, y: 16} }).boardState; - // boardState['5-16'].stone.should.eql(0) - // // boardState['4-16'].stone.should.eql(0) - // // boardState['4-17'].stone.should.eql(0) - // done(); - // }) + it('multi stone group capture all points are 0', done => { + const game = multiCaptureGame(); + game.makeMove({ player: 'white', pos: { x: 6, y: 16} }); + game.boardState['5-16'].stone.should.eql(0) + game.boardState['4-16'].stone.should.eql(0) + game.boardState['4-17'].stone.should.eql(0) + done(); + }) })