game_qu.base.library_changer API documentation

# 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