diff --git a/.gitignore b/.gitignore index 65860b52..0f92220e 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,4 @@ gamedb* install/**/*.bak install/**/*.dir install/**/*.dat +install/dist/table_manager_client.zip diff --git a/demo/viz.js b/demo/viz.js index 2812a777..ce98f348 100644 --- a/demo/viz.js +++ b/demo/viz.js @@ -358,8 +358,8 @@ class PlayInfo { if ("candidates" in this.data && this.data.candidates.length > 0) { html += '

Candidates

' - html += '

We have 3 different parameters for selecting the card, and first goal is to make/set the contract (if not matchpoints), then the double dummy score, and finally the score from the neural network.' - html += 'But if the quality of the samples are bad (or the nn suggest a specific card with confidence), then we select the that card.' + html += '

We have 3 different parameters for selecting the card, and first goal is to make/set the contract (if not matchpoints), then the double dummy score, and finally the score from the neural network. ' + html += 'If the quality of the samples are bad (or the nn suggest a specific card with confidence), then we select the that card. ' html += 'Also be aware that the data is rounded to nearest even number before comparing.

' html += '' diff --git a/scripts/data/epbot/html/viz.js b/scripts/data/epbot/html/viz.js index 792904f2..9f21252f 100644 --- a/scripts/data/epbot/html/viz.js +++ b/scripts/data/epbot/html/viz.js @@ -356,8 +356,8 @@ class PlayInfo { if ("candidates" in this.data && this.data.candidates.length > 0) { html += '

Candidates

' - html += '

We have 3 different parameters for selecting the card, and first goal is to make/set the contract (if not matchpoints), then the double dummy score, and finally the score from the neural network.' - html += 'But if the quality of the samples are bad (or the nn suggest a specific card with confidence), then we select the that card.' + html += '

We have 3 different parameters for selecting the card, and first goal is to make/set the contract (if not matchpoints), then the double dummy score, and finally the score from the neural network. ' + html += 'If the quality of the samples are bad (or the nn suggest a specific card with confidence), then we select the that card. ' html += 'Also be aware that the data is rounded to nearest even number before comparing.

' html += '
' diff --git a/src/bots.py b/src/bots.py index aca10be6..2d48fb40 100644 --- a/src/bots.py +++ b/src/bots.py @@ -1152,7 +1152,7 @@ def get_card_ev_mp(self, dd_solved, probabilities_list): for ft, proba in zip(future_tricks, probabilities_list): if ft < 0: continue - ev_sum += ft * proba + ev_sum += ft * proba * 100 card_ev[card] = ev_sum return card_ev @@ -1167,7 +1167,7 @@ def get_card_ev_mp(self, dd_solved): continue tot_tricks = self.n_tricks_taken + ft tot_decl_tricks = tot_tricks if self.player_i % 2 == 1 else 13 - tot_tricks - ev_sum += sign * tot_decl_tricks + ev_sum += sign * tot_decl_tricks * 100 card_ev[card] = ev_sum / len(future_tricks) return card_ev diff --git a/src/config/default_api.conf b/src/config/default_api.conf index 78ca2633..81991e74 100644 --- a/src/config/default_api.conf +++ b/src/config/default_api.conf @@ -21,8 +21,8 @@ matchpoint = True contract = models/contract/contract-193200 [bidding] -bidder = UCBC 2024/Models/bidding_V2-5540000 -info = UCBC 2024/Models/binfo_V2-5254000 +bidder = models/archive/gib21/bidding_V2-5540000 +info = models/archive/gib21_info/binfo_V2-5254000 # If there are multiple bids over this threshold make a simulation for the bids search_threshold = 0.07 # If there is bid above this threshold, make that bid ignoring other bids diff --git a/src/frontend/api.html b/src/frontend/api.html index 70d68be9..14eee43c 100644 --- a/src/frontend/api.html +++ b/src/frontend/api.html @@ -619,12 +619,12 @@

Sampl } function displayPlay(data, player, declarer) { - let html = "

Play


" + this.data["card"] + " selected by " + this.data["who"] + "

" + let html = "

Play


" + data["card"] + " selected by " + data["who"] + "

" if ("candidates" in data && data.candidates.length > 0) { html += '

Candidates

' - html += '

We have 3 different parameters for selecting the card, and first goal is to make/set the contract (if not matchpoints), then the double dummy score, and finally the score from the neural network.' - html += 'But if the quality of the samples are bad (or the nn suggest a specific card with confidence), then we select the that card.' + html += '

We have 3 different parameters for selecting the card, and first goal is to make/set the contract (if not matchpoints), then the double dummy score, and finally the score from the neural network. ' + html += 'If the quality of the samples are bad (or the nn suggest a specific card with confidence), then we select the that card. ' html += 'Also be aware that the data is rounded to nearest even number before comparing.

' html += '

' diff --git a/src/frontend/viz.js b/src/frontend/viz.js index 4b2da1b0..bd1a70f0 100644 --- a/src/frontend/viz.js +++ b/src/frontend/viz.js @@ -354,8 +354,8 @@ class PlayInfo { if ("candidates" in this.data && this.data.candidates.length > 0) { html += '

Candidates

' - html += '

We have 3 different parameters for selecting the card, and first goal is to make/set the contract (if not matchpoints), then the double dummy score, and finally the score from the neural network.' - html += 'But if the quality of the samples are bad (or the nn suggest a specific card with confidence), then we select the that card.' + html += '

We have 3 different parameters for selecting the card, and first goal is to make/set the contract (if not matchpoints), then the double dummy score, and finally the score from the neural network. ' + html += 'If the quality of the samples are bad (or the nn suggest a specific card with confidence), then we select the that card. ' html += 'Also be aware that the data is rounded to nearest even number before comparing.

' html += '
' diff --git a/src/table_manager_client.py b/src/table_manager_client.py index 032347a4..a01be9c4 100644 --- a/src/table_manager_client.py +++ b/src/table_manager_client.py @@ -129,10 +129,11 @@ async def connect(self, host, port): matches = re.findall(pattern, opponents) # Extracted text from the second set of quotes - if self.seat == "North" or self.seat == "South": - self.opponents = matches[1] - else: - self.opponents = matches[0] + if len(matches) > 1: + if self.seat == "North" or self.seat == "South": + self.opponents = matches[1] + else: + self.opponents = matches[0] async def bidding(self): vuln = [self.vuln_ns, self.vuln_ew]