feat: add player two functionality
This commit is contained in:
@@ -150,7 +150,7 @@ class Piece(Entity):
|
||||
|
||||
|
||||
def draw(self, surface: pygame.Surface, well: Well = None, stack: "Stack" = None) -> None:
|
||||
# ghost piecep
|
||||
# ghost piece
|
||||
if well and stack:
|
||||
for square in self._get_ghost_piece_points(well, stack):
|
||||
pygame.draw.polygon(surface, pygame.Color(self._ghost_piece_color), square, max(self._tile_size // 6, 1)) # TODO add white to the yaml
|
||||
@@ -165,6 +165,10 @@ class Piece(Entity):
|
||||
vertex_four = (square[3][0] + (self._tile_size // 10), square[3][1] - (self._tile_size // 10))
|
||||
new_square = (vertex_one, vertex_two, vertex_three, vertex_four)
|
||||
pygame.draw.polygon(surface, pygame.Color(self._inner_border_color), new_square, max(self._tile_size // 6, 1))
|
||||
surface.set_at((square[0][0]+3, square[0][1]+3), pygame.Color(255, 255, 255))
|
||||
surface.set_at((square[0][0]+4, square[0][1]+4), pygame.Color(255, 255, 255))
|
||||
surface.set_at((square[0][0]+4, square[0][1]+5), pygame.Color(255, 255, 255))
|
||||
surface.set_at((square[0][0]+5, square[0][1]+4), pygame.Color(255, 255, 255))
|
||||
|
||||
def move(self, vector: Tuple) -> None:
|
||||
self._previous_points = copy.deepcopy(self._points)
|
||||
@@ -306,6 +310,10 @@ class Stack(Entity):
|
||||
vertex_four = (square[3][0] + (self._tile_size // 10), square[3][1] - (self._tile_size // 10))
|
||||
new_square = (vertex_one, vertex_two, vertex_three, vertex_four)
|
||||
pygame.draw.polygon(surface, pygame.Color(square_design.inner_color), new_square, max(self._tile_size // 6, 1))
|
||||
surface.set_at((square[0][0]+3, square[0][1]+3), pygame.Color(255, 255, 255))
|
||||
surface.set_at((square[0][0]+4, square[0][1]+4), pygame.Color(255, 255, 255))
|
||||
surface.set_at((square[0][0]+4, square[0][1]+5), pygame.Color(255, 255, 255))
|
||||
surface.set_at((square[0][0]+5, square[0][1]+4), pygame.Color(255, 255, 255))
|
||||
|
||||
def add_piece(self, piece: Piece) -> None:
|
||||
self._points += piece._points
|
||||
@@ -372,12 +380,12 @@ class PieceGenerator:
|
||||
_bucket_two = []
|
||||
|
||||
@classmethod
|
||||
def get_piece(cls, position: Tuple, player_two: bool = False) -> Piece:
|
||||
bucket = cls._bucket_one if not player_two else cls._bucket_two
|
||||
def get_piece(cls, position: Tuple, is_player_two: bool = False) -> Piece:
|
||||
bucket = cls._bucket_one if not is_player_two else cls._bucket_two
|
||||
if len(bucket) == 0:
|
||||
cls._generate_bucket(bucket)
|
||||
|
||||
base_color, inner_border_color, outer_border_color = cls._get_piece_color()
|
||||
base_color, inner_border_color, outer_border_color = cls._get_piece_color(is_player_two)
|
||||
return Piece(cls._get_piece_shape(bucket.pop()), position, base_color, inner_border_color, outer_border_color)
|
||||
|
||||
@classmethod
|
||||
@@ -405,11 +413,12 @@ class PieceGenerator:
|
||||
|
||||
return None
|
||||
|
||||
def _get_piece_color() -> Tuple:
|
||||
def _get_piece_color(is_player_two: bool) -> Tuple:
|
||||
random_number = random.randint(1, 3)
|
||||
player_mod = "player-1" if not is_player_two else "player-2"
|
||||
|
||||
base_color = ConfigurationManager.get("color", "piece-" + str(random_number))
|
||||
inner_border_color = None if random_number != 3 else ConfigurationManager.get("color", "piece-inner-border-1")
|
||||
base_color = ConfigurationManager.get("color", "piece-" + str(random_number) + "-" + player_mod)
|
||||
inner_border_color = None if random_number != 3 else ConfigurationManager.get("color", "piece-inner-border-1" + "-" + player_mod)
|
||||
outer_border_color = ConfigurationManager.get("color", "piece-outer-border-1")
|
||||
|
||||
return (base_color, inner_border_color, outer_border_color)
|
||||
Reference in New Issue
Block a user