add .env var to set no save when win and turns are less or the same as the var

This commit is contained in:
2024-04-15 03:29:20 +02:00
parent 7457e66339
commit 38ba576de9
2 changed files with 10 additions and 3 deletions
+2 -1
View File
@@ -19,11 +19,12 @@ import os
# Start server when `python main.py` is run # Start server when `python main.py` is run
if __name__ == "__main__": if __name__ == "__main__":
CreateEnvironmentFile.load_dotenv({"STORE_GAME_HISTORY": True, "DEBUG": True, "SNAKE": "DummSnake"}) CreateEnvironmentFile.load_dotenv({"STORE_GAME_HISTORY": True, "DEBUG": True, "SNAKE": "DummSnake", "STORE_IF_WIN_AND_MOVES_ARE_BIGGER_AS": 10})
server = Server( server = Server(
data_path=os.path.dirname(__file__), data_path=os.path.dirname(__file__),
snake_type=os.environ.get("SNAKE", "DummSnake"), snake_type=os.environ.get("SNAKE", "DummSnake"),
store_game_when_win_and_moves_are_bigger_as=int(os.environ.get("STORE_IF_WIN_AND_MOVES_ARE_BIGGER_AS", 10))
) )
if os.environ.get("STORE_GAME_HISTORY", None): if os.environ.get("STORE_GAME_HISTORY", None):
+8 -2
View File
@@ -11,7 +11,7 @@ import logging, json, os
class Server: class Server:
default_snake_config = {"apiversion":"1","author":"","color":"#888888","head":"default","tail":"default"} default_snake_config = {"apiversion":"1","author":"","color":"#888888","head":"default","tail":"default"}
def __init__(self, data_path:str, snake_type:str, debug:bool=False): def __init__(self, data_path:str, snake_type:str, debug:bool=False, store_game_when_win_and_moves_are_bigger_as:int=10):
self.debug = debug self.debug = debug
self.snake_type = snake_type self.snake_type = snake_type
@@ -19,6 +19,8 @@ class Server:
self.data_path = data_path self.data_path = data_path
self.store_game_state = False self.store_game_state = False
self.store_game_when_win_and_moves_are_bigger_as = store_game_when_win_and_moves_are_bigger_as
self.running_games:dict[str, GameStorage] = {} self.running_games:dict[str, GameStorage] = {}
self.running_snake:dict[str, TemplateSnake] = {} self.running_snake:dict[str, TemplateSnake] = {}
@@ -79,7 +81,11 @@ class Server:
# start is called when your Battlesnake begins a game # start is called when your Battlesnake begins a game
def _start(self, game_state:dict): def _start(self, game_state:dict):
if self.store_game_state: if self.store_game_state:
self.running_games[game_state["game"]["id"]] = GameStorage(self.snake_type, path=os.path.join(self.data_path, 'data', 'history')) self.running_games[game_state["game"]["id"]] = GameStorage(
self.snake_type,
path=os.path.join(self.data_path, 'data', 'history'),
no_store_turns=self.store_game_when_win_and_moves_are_bigger_as
)
self.running_games[game_state["game"]["id"]].start_new_game(game_state["game"], game_state["board"], game_state["you"]) self.running_games[game_state["game"]["id"]].start_new_game(game_state["game"], game_state["board"], game_state["you"])
self.running_snake[game_state["game"]["id"]] = SnakeBuilder.build(self.snake_type) self.running_snake[game_state["game"]["id"]] = SnakeBuilder.build(self.snake_type)