feat: create class that generates pieces

This commit is contained in:
Giovani
2021-06-03 22:39:27 -04:00
parent 2812d8a3bd
commit c10eea639d
4 changed files with 69 additions and 36 deletions

30
main.py
View File

@@ -5,8 +5,8 @@
import pygame
from entity.Piece import Piece
from util.ConfigurationManager import ConfigurationManager
from util.PieceGenerator import PieceGenerator
def draw(screen, objects):
# draw window bg
@@ -29,8 +29,6 @@ def main():
win_icon = ConfigurationManager.configuration["window"]["icon"]
win_title = ConfigurationManager.configuration["window"]["title"]
fps = ConfigurationManager.configuration["engine"]["fps"]
base_one_color = ConfigurationManager.configuration["color"]["base-1"]
base_two_color = ConfigurationManager.configuration["color"]["base-2"]
tile_size = ConfigurationManager.configuration["engine"]["tile-size"]
screen = pygame.display.set_mode((win_width, win_height))
@@ -40,8 +38,13 @@ def main():
pygame.display.set_caption(win_title)
pygame.display.set_icon(loaded_icon)
i_piece = Piece(Piece.I_SHAPE, (100, 100), base_one_color)
piece = Piece(Piece.Z_SHAPE, (250, 100), base_two_color)
pieces = []
x = 50
y = 50
for _ in range(6):
pieces.append(PieceGenerator.get_piece((x, y)))
x += 120
y += 100
is_running = True
while is_running:
@@ -52,22 +55,17 @@ def main():
is_running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
i_piece.rotate()
piece.rotate()
[piece.rotate() for piece in pieces]
if event.key == pygame.K_LEFT:
i_piece.move((-tile_size, 0))
piece.move((-tile_size, 0))
[piece.move((-tile_size, 0)) for piece in pieces]
if event.key == pygame.K_RIGHT:
i_piece.move((tile_size, 0))
piece.move((tile_size, 0))
[piece.move((tile_size, 0)) for piece in pieces]
if event.key == pygame.K_UP:
i_piece.move((0, -tile_size))
piece.move((0, -tile_size))
[piece.move((0, -tile_size)) for piece in pieces]
if event.key == pygame.K_DOWN:
i_piece.move((0, tile_size))
piece.move((0, tile_size))
[piece.move((0, tile_size)) for piece in pieces]
draw(screen, [i_piece, piece])
draw(screen, pieces)
pygame.quit()