From be42a50cc6ec6a8619c7e7e83079e22b0ab9bede Mon Sep 17 00:00:00 2001 From: yukirij Date: Tue, 17 Dec 2024 17:38:06 -0800 Subject: [PATCH] Fix turnless pool player handling. --- www/js/game.js | 17 ++++++++++++++--- www/js/interface.js | 12 ++++++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/www/js/game.js b/www/js/game.js index 182d02c..41dff17 100644 --- a/www/js/game.js +++ b/www/js/game.js @@ -116,10 +116,11 @@ GAME.MovementTile = class { }; GAME.Play = class { - constructor(source, from, to) { + constructor(source, from, to, player=-1) { this.source = source; this.from = from; this.to = to; + this.player = player; } }; @@ -319,7 +320,12 @@ GAME.Game = class { process(play) { if(this.state.code != 0) { return false; } - let player = this.turn & 1; + let player = 0; + if(play.player == -1) { + player = this.turn & 1; + } else { + player = play.player; + } // Move piece on board. switch(play.source) { @@ -399,7 +405,12 @@ GAME.Game = class { } play_is_valid(play) { - let player = this.turn & 1; + let player = 0; + if(play.player == -1) { + player = this.turn & 1; + } else { + player = play.player; + } switch(play.source) { case 0: { diff --git a/www/js/interface.js b/www/js/interface.js index 322d491..97fa1b3 100644 --- a/www/js/interface.js +++ b/www/js/interface.js @@ -215,6 +215,8 @@ const INTERFACE = { }, click(event) { + let play_player = -1; + console.log("CLICK"); switch(event.button) { @@ -252,8 +254,12 @@ const INTERFACE = { } if((GAME_DATA.turn & 1) != pool_selected) { - console.log("NOT POOL"); - result = 0; + if(GAME_DATA.config.rules.turn) { + console.log("NOT POOL"); + result = 0; + } else { + play_player = pool_selected; + } } } } @@ -292,6 +298,8 @@ const INTERFACE = { INTERFACE_DATA.hover.tile, INTERFACE_DATA.alt_mode ); + play.player = play_player; + INTERFACE.process(play); INTERFACE_DATA.select = null; INTERFACE_DATA.alt_mode = false;