Module game_qu.base.library_changer
Expand source code
from game_qu.base import important_constants
import importlib
from game_qu import library_abstraction
class LibraryChanger:
""" A class that allows the user to modify constants and other variables instead of actually modifying the code.
IMPORTANT: All the methods of this class must be called from the second line onwards with the first line being
from game_qu.base.library_changer import LibraryChanger, so none of the other code is initialized with the old constants."""
library_has_been_set = False
current_library_name = ""
@staticmethod
def set_screen_dimensions(screen_length, screen_height):
"""Sets the dimensions of the screen. IMPORTANT see class description for details on how to call the methods """
important_constants.SCREEN_LENGTH = screen_length
important_constants.SCREEN_HEIGHT = screen_height
@staticmethod
def set_background_color(background_color):
"""Sets the background color of the screen (doesn't affect anything if an image is the background)"""
important_constants.BACKGROUND_COLOR = background_color
@staticmethod
def set_number_of_frames_history_keeper_stores(number_of_frames_history_keeper_stores):
"""Sets the number of frames the HistoryKeeper keeps in it at one time"""
important_constants.NUMBER_OF_FRAMES_HISTORY_KEEPER_STORES = number_of_frames_history_keeper_stores
@staticmethod
def set_game_library(library_name):
""" Sets the game library that runs all the code. Here are the valid names:
'pyglet',
'pygame'"""
valid_library_names = ["pyglet", "pygame"]
LibraryChanger.library_has_been_set = True
if not valid_library_names.__contains__(library_name):
raise ValueError(f"Do not recognize 'library_name' {library_name}. Here are the valid values: ['pyglet', 'pygame']")
if library_name == "pyglet":
LibraryChanger.current_library_name = library_name
library_abstraction.keys = importlib.import_module("game_qu.pyglet_abstraction.keys")
library_abstraction.utility_functions = importlib.import_module("game_qu.pyglet_abstraction.utility_functions")
library_abstraction.variables = importlib.import_module("game_qu.pyglet_abstraction.variables")
else:
LibraryChanger.current_library_name = library_name
library_abstraction.keys = importlib.import_module("game_qu.pygame_abstraction.keys")
library_abstraction.utility_functions = importlib.import_module("game_qu.pygame_abstraction.utility_functions")
library_abstraction.variables = importlib.import_module("game_qu.pygame_abstraction.variables")
@staticmethod
def get_library_has_been_set():
"""
Returns:
bool: whether the library for the game engine has been set"""
return LibraryChanger.library_has_been_set
@staticmethod
def set_important_constant(constant_name, constant_value):
""" Sets the value of the constant with the name 'constant_name' to 'constant_value.' Here is the list of all
the constants (from important_constants.py):
SCREEN_LENGTH = 1300
SCREEN_HEIGHT = 650
BACKGROUND_COLOR = (200, 200, 200)
NUMBER_OF_FRAMES_HISTORY_KEEPER_STORES = 4
IS_USING_CONTROLLER = False
DEFAULT_RENDERING_ENGINE = "'pygame'"""
setattr(important_constants, constant_name, constant_value)
@staticmethod
def set_is_using_controller(is_using_controller):
"""Sets whether the game will be using a controller (important_constants.IS_USING_CONTROLLER) to 'is_using_controller'"""
important_constants.IS_USING_CONTROLLER = is_using_controller
Classes
class LibraryChanger
-
A class that allows the user to modify constants and other variables instead of actually modifying the code. IMPORTANT: All the methods of this class must be called from the second line onwards with the first line being from game_qu.base.library_changer import LibraryChanger, so none of the other code is initialized with the old constants.
Expand source code
class LibraryChanger: """ A class that allows the user to modify constants and other variables instead of actually modifying the code. IMPORTANT: All the methods of this class must be called from the second line onwards with the first line being from game_qu.base.library_changer import LibraryChanger, so none of the other code is initialized with the old constants.""" library_has_been_set = False current_library_name = "" @staticmethod def set_screen_dimensions(screen_length, screen_height): """Sets the dimensions of the screen. IMPORTANT see class description for details on how to call the methods """ important_constants.SCREEN_LENGTH = screen_length important_constants.SCREEN_HEIGHT = screen_height @staticmethod def set_background_color(background_color): """Sets the background color of the screen (doesn't affect anything if an image is the background)""" important_constants.BACKGROUND_COLOR = background_color @staticmethod def set_number_of_frames_history_keeper_stores(number_of_frames_history_keeper_stores): """Sets the number of frames the HistoryKeeper keeps in it at one time""" important_constants.NUMBER_OF_FRAMES_HISTORY_KEEPER_STORES = number_of_frames_history_keeper_stores @staticmethod def set_game_library(library_name): """ Sets the game library that runs all the code. Here are the valid names: 'pyglet', 'pygame'""" valid_library_names = ["pyglet", "pygame"] LibraryChanger.library_has_been_set = True if not valid_library_names.__contains__(library_name): raise ValueError(f"Do not recognize 'library_name' {library_name}. Here are the valid values: ['pyglet', 'pygame']") if library_name == "pyglet": LibraryChanger.current_library_name = library_name library_abstraction.keys = importlib.import_module("game_qu.pyglet_abstraction.keys") library_abstraction.utility_functions = importlib.import_module("game_qu.pyglet_abstraction.utility_functions") library_abstraction.variables = importlib.import_module("game_qu.pyglet_abstraction.variables") else: LibraryChanger.current_library_name = library_name library_abstraction.keys = importlib.import_module("game_qu.pygame_abstraction.keys") library_abstraction.utility_functions = importlib.import_module("game_qu.pygame_abstraction.utility_functions") library_abstraction.variables = importlib.import_module("game_qu.pygame_abstraction.variables") @staticmethod def get_library_has_been_set(): """ Returns: bool: whether the library for the game engine has been set""" return LibraryChanger.library_has_been_set @staticmethod def set_important_constant(constant_name, constant_value): """ Sets the value of the constant with the name 'constant_name' to 'constant_value.' Here is the list of all the constants (from important_constants.py): SCREEN_LENGTH = 1300 SCREEN_HEIGHT = 650 BACKGROUND_COLOR = (200, 200, 200) NUMBER_OF_FRAMES_HISTORY_KEEPER_STORES = 4 IS_USING_CONTROLLER = False DEFAULT_RENDERING_ENGINE = "'pygame'""" setattr(important_constants, constant_name, constant_value) @staticmethod def set_is_using_controller(is_using_controller): """Sets whether the game will be using a controller (important_constants.IS_USING_CONTROLLER) to 'is_using_controller'""" important_constants.IS_USING_CONTROLLER = is_using_controller
Class variables
var current_library_name
var library_has_been_set
Static methods
def get_library_has_been_set()
-
Returns
bool
- whether the library for the game engine has been set
Expand source code
@staticmethod def get_library_has_been_set(): """ Returns: bool: whether the library for the game engine has been set""" return LibraryChanger.library_has_been_set
def set_background_color(background_color)
-
Sets the background color of the screen (doesn't affect anything if an image is the background)
Expand source code
@staticmethod def set_background_color(background_color): """Sets the background color of the screen (doesn't affect anything if an image is the background)""" important_constants.BACKGROUND_COLOR = background_color
def set_game_library(library_name)
-
Sets the game library that runs all the code. Here are the valid names: 'pyglet', 'pygame'
Expand source code
@staticmethod def set_game_library(library_name): """ Sets the game library that runs all the code. Here are the valid names: 'pyglet', 'pygame'""" valid_library_names = ["pyglet", "pygame"] LibraryChanger.library_has_been_set = True if not valid_library_names.__contains__(library_name): raise ValueError(f"Do not recognize 'library_name' {library_name}. Here are the valid values: ['pyglet', 'pygame']") if library_name == "pyglet": LibraryChanger.current_library_name = library_name library_abstraction.keys = importlib.import_module("game_qu.pyglet_abstraction.keys") library_abstraction.utility_functions = importlib.import_module("game_qu.pyglet_abstraction.utility_functions") library_abstraction.variables = importlib.import_module("game_qu.pyglet_abstraction.variables") else: LibraryChanger.current_library_name = library_name library_abstraction.keys = importlib.import_module("game_qu.pygame_abstraction.keys") library_abstraction.utility_functions = importlib.import_module("game_qu.pygame_abstraction.utility_functions") library_abstraction.variables = importlib.import_module("game_qu.pygame_abstraction.variables")
def set_important_constant(constant_name, constant_value)
-
Sets the value of the constant with the name 'constant_name' to 'constant_value.' Here is the list of all the constants (from important_constants.py):
SCREEN_LENGTH = 1300 SCREEN_HEIGHT = 650 BACKGROUND_COLOR = (200, 200, 200) NUMBER_OF_FRAMES_HISTORY_KEEPER_STORES = 4 IS_USING_CONTROLLER = False DEFAULT_RENDERING_ENGINE = "'pygame'
Expand source code
@staticmethod def set_important_constant(constant_name, constant_value): """ Sets the value of the constant with the name 'constant_name' to 'constant_value.' Here is the list of all the constants (from important_constants.py): SCREEN_LENGTH = 1300 SCREEN_HEIGHT = 650 BACKGROUND_COLOR = (200, 200, 200) NUMBER_OF_FRAMES_HISTORY_KEEPER_STORES = 4 IS_USING_CONTROLLER = False DEFAULT_RENDERING_ENGINE = "'pygame'""" setattr(important_constants, constant_name, constant_value)
def set_is_using_controller(is_using_controller)
-
Sets whether the game will be using a controller (important_constants.IS_USING_CONTROLLER) to 'is_using_controller'
Expand source code
@staticmethod def set_is_using_controller(is_using_controller): """Sets whether the game will be using a controller (important_constants.IS_USING_CONTROLLER) to 'is_using_controller'""" important_constants.IS_USING_CONTROLLER = is_using_controller
def set_number_of_frames_history_keeper_stores(number_of_frames_history_keeper_stores)
-
Sets the number of frames the HistoryKeeper keeps in it at one time
Expand source code
@staticmethod def set_number_of_frames_history_keeper_stores(number_of_frames_history_keeper_stores): """Sets the number of frames the HistoryKeeper keeps in it at one time""" important_constants.NUMBER_OF_FRAMES_HISTORY_KEEPER_STORES = number_of_frames_history_keeper_stores
def set_screen_dimensions(screen_length, screen_height)
-
Sets the dimensions of the screen. IMPORTANT see class description for details on how to call the methods
Expand source code
@staticmethod def set_screen_dimensions(screen_length, screen_height): """Sets the dimensions of the screen. IMPORTANT see class description for details on how to call the methods """ important_constants.SCREEN_LENGTH = screen_length important_constants.SCREEN_HEIGHT = screen_height