feat: create class that generates pieces

This commit is contained in:
2021-06-03 22:39:27 -04:00
parent f31a4f5017
commit 1962a0b838
4 changed files with 69 additions and 36 deletions

34
util/PieceGenerator.py Normal file
View File

@@ -0,0 +1,34 @@
import random
from entity.Piece import Piece
from util.ConfigurationManager import ConfigurationManager
class PieceGenerator:
@classmethod
def get_piece(cls, position):
piece = Piece(cls.__get_piece_shape(), position, cls.__get_piece_color())
[piece.rotate() for _ in range(random.randint(0, 3))] # randomize rotated position
return piece
def __get_piece_shape():
random_number = random.randint(0, 6)
if random_number == 0:
return Piece.I_SHAPE
if random_number == 1:
return Piece.J_SHAPE
if random_number == 2:
return Piece.L_SHAPE
if random_number == 3:
return Piece.O_SHAPE
if random_number == 4:
return Piece.S_SHAPE
if random_number == 5:
return Piece.T_SHAPE
if random_number == 6:
return Piece.Z_SHAPE
def __get_piece_color():
random_number = random.randint(1, 3)
return ConfigurationManager.configuration["color"]["base-" + str(random_number)]