feat: create class that generates pieces
This commit is contained in:
34
util/PieceGenerator.py
Normal file
34
util/PieceGenerator.py
Normal 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)]
|
||||
Reference in New Issue
Block a user