From 40e1c5a72c906ee096332cc35b5609a83d0595eb Mon Sep 17 00:00:00 2001 From: Elijah Steres Date: Wed, 30 Dec 2020 21:32:07 -0500 Subject: [PATCH] add game end and fix cell removal code --- main_controller.py | 13 +++++++++++-- static/loader.js | 16 +++++++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/main_controller.py b/main_controller.py index 8a9ff28..fa60d28 100644 --- a/main_controller.py +++ b/main_controller.py @@ -58,7 +58,12 @@ def update_loop(): if state["update_pause"] == 1: state["update_emoji"] = "🍿" - if this_game.top_of_inning: + if this_game.over: + winning_team = this_game.teams['home'].name if this_game.teams['home'].score > this_game.teams['away'].score else this_game.teams['away'].name + state["update_text"] = f"{winning_team} wins{' with a victory lap' if state['victory_lap'] else ''}!" + state["pitcher"] = "-" + state["batter"] = "-" + elif this_game.top_of_inning: state["update_text"] = f"Top of {this_game.inning}. {this_game.teams['away'].name} batting!" else: if this_game.inning >= this_game.max_innings: @@ -99,9 +104,13 @@ def update_loop(): states_to_send[game_time] = state if state["update_pause"] <= 1 and state["delay"] < 0: - this_game.gamestate_update_full() + if this_game.over: + master_games_dic.pop(game_time) + else: + this_game.gamestate_update_full() state["update_pause"] -= 1 + global last_update last_update = states_to_send socketio.emit("states_update", states_to_send) diff --git a/static/loader.js b/static/loader.js index 10c7e54..ab6124f 100644 --- a/static/loader.js +++ b/static/loader.js @@ -39,16 +39,30 @@ $(document).ready(function (){ }; }; + var requiredcells = Math.max(4, (3 * Math.ceil(Object.keys(json).length/3))+1); + for (var slotnum = 1; slotnum < grid.children.length; slotnum++) { if (grid.children[slotnum].className == "game" && !(Object.keys(json).includes(grid.children[slotnum].timestamp))) { grid.removeChild(grid.children[slotnum]); } } - while((grid.children.length - 1) % 3 != 0 || grid.children.length == 0) { + + console.log(Object.keys(json).length) + console.log(requiredcells) + console.log(grid.children.length) + + while (grid.children.length > requiredcells) { + grid.removeChild(grid.children[requiredcells]); + } + + while (grid.children.length < requiredcells) { insertEmpty(grid); } + + console.log(grid.children.length) }); + const insertEmpty = (grid) => { newBox = document.createElement("DIV"); newBox.className = "emptyslot";