docs(game): add docstrings

fix typo
This commit is contained in:
Kristofers Solo 2023-12-28 16:49:16 +02:00
parent 50145ae6a6
commit 144cf771f0

View File

@ -17,20 +17,24 @@ class Game:
self.generate_random_block(Config.INITIAL_BLOCK_COUNT) self.generate_random_block(Config.INITIAL_BLOCK_COUNT)
def run(self) -> None: def run(self) -> None:
"""Run the game loop."""
while True: while True:
self.hande_events() self.hande_events()
self.update() self.update()
self.render() self.render()
def update(self) -> None: def update(self) -> None:
"""Update the game."""
self.sprites.update() self.sprites.update()
def render(self) -> None: def render(self) -> None:
"""Render the game."""
self.screen.fill(COLORS.BG) self.screen.fill(COLORS.BG)
self.sprites.draw(self.screen) self.sprites.draw(self.screen)
pygame.display.flip() pygame.display.flip()
def hande_events(self) -> None: def hande_events(self) -> None:
"""Handle pygame events."""
for event in pygame.event.get(): for event in pygame.event.get():
if event.type == pygame.QUIT: if event.type == pygame.QUIT:
self.exit() self.exit()
@ -47,6 +51,7 @@ class Game:
self.exit() self.exit()
def move_blocks(self, dx: int, dy: int) -> None: def move_blocks(self, dx: int, dy: int) -> None:
"""Move all the blocks by `dx` and `dy`."""
moved_blocks = pygame.sprite.Group() # Keep track of moved blocks to avoid double merging moved_blocks = pygame.sprite.Group() # Keep track of moved blocks to avoid double merging
for block in self.sprites: for block in self.sprites:
@ -63,18 +68,20 @@ class Game:
self.generate_random_block() self.generate_random_block()
def generate_random_block(self, count: int = 1) -> None: def generate_random_block(self, count: int = 1) -> None:
"""Generate `count` number of random blocks."""
for _ in range(count): for _ in range(count):
while True: while True:
x = random.randint(0, 2) * Config.BLOCK_SIZE # random column position x = random.randint(0, 2) * Config.BLOCK_SIZE # random column position
y = random.randint(0, 2) * Config.BLOCK_SIZE # random row position y = random.randint(0, 2) * Config.BLOCK_SIZE # random row position
block = Block(x, y) block = Block(x, y)
colligin_blocks = pygame.sprite.spritecollide(block, self.sprites, False) # check collision colliding_blocks = pygame.sprite.spritecollide(block, self.sprites, False) # check collision
if not colligin_blocks: if not colliding_blocks:
self.sprites.add(block) self.sprites.add(block)
break break
def exit(self) -> None: def exit(self) -> None:
"""Exit the game."""
pygame.quit() pygame.quit()
sys.exit() sys.exit()