updated comments and docstrings

This commit is contained in:
Nicholas Dyer 2023-05-15 00:24:57 -04:00
parent 86e8c51494
commit f765bb3dcb
3 changed files with 34 additions and 10 deletions

View File

@ -6,21 +6,27 @@ from ..io.input_handler import InputHandler
class GameSurface(pygame.Surface): class GameSurface(pygame.Surface):
""" """
Class to be used as the backbone of all game surfaces. Class to be used as the backbone of all game surfaces.
The GameSurface class is what the game uses to draw all other elements on top of. It controls a number of game
operations, including input handling, frame rate limiting, and surface switching. It is a child class of Pygame's
Surface class and utilizes Pygame's sprite handling along with the ability to blit certain things on the screen
in order to draw elements easily.
Attributes: Attributes:
running (bool): Boolean to tell whether the surface is running or not. running: Boolean to tell whether the surface is running or not.
next_surface (:obj:`str`): What the next surface should be after halting. next_surface: String that represents the next surface to be switched to after halting.
resource_dir (:obj:`str`): The path of the game's main resource directory. resource_dir: String that contains the path of the game's main resource directory.
game_fps (int): How many frames per second the game will run at. game_fps: An integer value of how many frames per second the game will run at.
additional_args (dict): Additional arguments to send to the next surface after halting. additional_args: Dictionary of additional arguments to send to the next surface after halting.
bg (:obj:`pygame.Surface`): The background of the surface. background: A Pygame surface that will be drawn behind all other elements.
""" """
def __init__(self, game_res, resources_dir, game_fps): def __init__(self, game_res: int, resources_dir: str, game_fps: pygame.Surface):
""" """
Create a GameSurface object. Create a GameSurface object.
Args: Args:
game_res (int): The internal resolution of the surface. game_res: The internal resolution of the surface.
resources_dir (:obj:`str`): The path of the game's main resource directory. resources_dir: The path of the game's main resource directory.
game_fps: (int): How many frames per second the game will run at. game_fps: How many frames per second the game will run at.
""" """
super().__init__(game_res, pygame.SRCALPHA) super().__init__(game_res, pygame.SRCALPHA)
self.running = True self.running = True

View File

@ -1,3 +1,6 @@
"""Module for selection info. Shows egg stats after an egg has been selected from the starting
screen. Contains the surface object to be rendered."""
import pygame import pygame
from pocket_friends.elements import sprites from pocket_friends.elements import sprites
from pocket_friends.elements import surface from pocket_friends.elements import surface
@ -26,6 +29,9 @@ class Surface(surface.GameSurface):
self.info_icons = sprites.EggInfo(resources_dir, egg.contentedness, egg.metabolism, (32, 4)) self.info_icons = sprites.EggInfo(resources_dir, egg.contentedness, egg.metabolism, (32, 4))
def update(self): def update(self):
"""
Advance the surface logic by one frame.
"""
self.preprocess() self.preprocess()
self.info_text.draw(self) self.info_text.draw(self)

View File

@ -1,9 +1,21 @@
"""Title screen module. Contains the surface object to be rendered on the screen."""
import pygame import pygame
from pocket_friends.elements import surface from pocket_friends.elements import surface
class Surface(surface.GameSurface): class Surface(surface.GameSurface):
"""
Surface object for the title screen.
"""
def __init__(self, game_res, resources_dir, game_fps): def __init__(self, game_res, resources_dir, game_fps):
"""
Create a title screen surface object
Args:
game_res (int): The internal resolution of the game
resources_dir (str): The full path of the game's resource directory
game_fps (int): The
"""
super().__init__(game_res, resources_dir, game_fps) super().__init__(game_res, resources_dir, game_fps)
self.frames = 0 self.frames = 0