From 2b9eb8a4fdaad5cbbf0a4e5497b6d6e9fbfb12d0 Mon Sep 17 00:00:00 2001 From: Auric Vente Date: Mon, 22 Jul 2024 19:38:10 -0600 Subject: [PATCH] Mods --- cromulant/game.py | 19 +++++++++++++++---- cromulant/manifest.json | 2 +- cromulant/settings.py | 9 +++++++++ cromulant/window.py | 2 +- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/cromulant/game.py b/cromulant/game.py index 1c617ed..a663283 100644 --- a/cromulant/game.py +++ b/cromulant/game.py @@ -270,11 +270,13 @@ class Game: else: return - Game.merge_charge += 1 + if Game.merge_charge < Config.merge_goal: + Game.merge_charge += 1 - if Game.merge_charge >= Config.merge_goal: - nums.insert(0, Method.merge) - weights.insert(0, 1) + if Settings.merge: + if Game.merge_charge >= Config.merge_goal: + nums.insert(0, Method.merge) + weights.insert(0, 1) num = random.choices(nums, weights=weights, k=1)[0] @@ -467,10 +469,19 @@ class Game: menu = QMenu(Window.root.widget()) update = QAction("Update") restart = QAction("Restart") + + if Settings.merge: + merge = QAction("Merge: On") + else: + merge = QAction("Merge: Off") + update.triggered.connect(Game.force_update) restart.triggered.connect(Game.restart) + merge.triggered.connect(Settings.toggle_merge) + menu.addAction(update) menu.addAction(restart) + menu.addAction(merge) menu.exec_(QCursor.pos()) @staticmethod diff --git a/cromulant/manifest.json b/cromulant/manifest.json index 91bb75b..7ea44a0 100644 --- a/cromulant/manifest.json +++ b/cromulant/manifest.json @@ -1,5 +1,5 @@ { - "version": "1.2.0", + "version": "1.4.0", "title": "Cromulant", "program": "cromulant", "author": "madprops", diff --git a/cromulant/settings.py b/cromulant/settings.py index 1955d34..dd87574 100644 --- a/cromulant/settings.py +++ b/cromulant/settings.py @@ -7,6 +7,7 @@ from .storage import Storage class Settings: speed: str mode: str + merge: bool @staticmethod def prepare() -> None: @@ -20,11 +21,14 @@ class Settings: mode = Settings.mode.capitalize() Window.mode.setCurrentText(mode) + Settings.merge = settings.get("merge", True) + @staticmethod def save() -> None: settings = { "speed": Settings.speed, "mode": Settings.mode, + "merge": Settings.merge, } Storage.save_settings(settings) @@ -38,3 +42,8 @@ class Settings: def set_mode(mode: str) -> None: Settings.mode = mode Settings.save() + + @staticmethod + def toggle_merge() -> None: + Settings.merge = not Settings.merge + Settings.save() diff --git a/cromulant/window.py b/cromulant/window.py index ff68178..3206671 100644 --- a/cromulant/window.py +++ b/cromulant/window.py @@ -224,7 +224,7 @@ class Window: container = QHBoxLayout() btn_menu = QPushButton("Menu") - btn_menu.setToolTip("Restart with a new set of ants") + btn_menu.setToolTip("The main menu") btn_menu.clicked.connect(Game.menu) Window.speed = QComboBox()