Example #1
0
    def graphics(surface, player, entities):

        surface.fill((255, 255, 255))

        profile = render_text('Profile', fontsize=40)
        surface.blit(profile, (50, 10))

        name = render_text('Name:')
        surface.blit(name, (50, 60))

        icon = render_text('Icon:')
        surface.blit(icon, (50, 160))

        surface.blit(player.icon_rendered, (50, 200))
        pygame.draw.rect(surface, (230, 230, 230),
                         (50, 200, player.icon_rendered.get_width(),
                          player.icon_rendered.get_height()), 2)

        connection = render_text('Connection', fontsize=40)
        surface.blit(connection, (50, 300))

        ip = render_text('IP:')
        surface.blit(ip, (50, 350))

        for entity in entities:
            entity.render(surface)
Example #2
0
    def __init__(self, name, icon, color):

        self.name = name
        self.icon = icon
        self.color = color
        self.points = 0
        self.move_finished = False

        self.name_rendered = render_text(self.name)
        self.active_name_rendered = render_text(self.name, color=(255, 0, 0))
        self.icon_rendered = load_image(self.icon)
Example #3
0
    def graphics(surface, entities):

        surface.fill((255, 255, 255))

        text = render_text(f'{current_player.name} won!', fontsize=40)
        surface.blit(text, ((config['WIDTH'] - text.get_width()) // 2, 100))

        for entity in entities:
            entity.render(surface)
Example #4
0
    def graphics(surface, entities):

        surface.fill((255, 255, 255))

        text = render_text('Will be added soon...', fontsize=80)
        surface.blit(text, ((config['WIDTH'] - text.get_width()) // 2,
                            (config['HEIGHT'] - text.get_height()) // 2))

        for entity in entities:
            entity.render(surface)
Example #5
0
    def graphics(surface, entities):

        surface.fill((255, 255, 255))

        text = render_text('Chess', font='arial', fontsize=100)
        surface.blit(text, ((config['WIDTH'] - text.get_width()) // 2,
                            (350 - text.get_height()) // 2))

        for entity in entities:
            entity.render(surface)
Example #6
0
    def render(self, surface):

        text = render_text(self.text,
                           font='arial',
                           fontsize=self.fontsize,
                           color=self.textcolor)

        pygame.draw.rect(surface, self.color, self.rect)
        surface.blit(text,
                     (self.x + (self.width - text.get_width()) // 2, self.y +
                      (self.height - text.get_height()) // 2))
Example #7
0
    def render(self, surface):

        pygame.draw.rect(surface, self.color, self.rect)

        if self.is_active:
            pygame.draw.rect(surface, (200, 200, 200), self.rect, 2)

        text = render_text(self.text, fontsize=20)
        surface.blit(text,
                     (self.x + (self.width - text.get_width()) // 2, self.y +
                      (self.height - text.get_height()) // 2))
Example #8
0
    def graphics(surface, delta_t, player1, player2, entities):

        surface.fill((255, 255, 255))

        timer = render_text(
            '%.2d:%.2d' %
            (delta_t.total_seconds() // 60, delta_t.total_seconds() % 60))
        surface.blit(timer, ((config['WIDTH'] - timer.get_width()) // 2, 50))

        if current_player == player1:
            surface.blit(player1.active_name_rendered, (25, 10))
            surface.blit(player2.name_rendered,
                         ((config['WIDTH'] -
                           player2.name_rendered.get_width() - 25), 10))

        elif current_player == player2:
            surface.blit(player1.name_rendered, (25, 10))
            surface.blit(player2.active_name_rendered,
                         ((config['WIDTH'] -
                           player2.name_rendered.get_width() - 25), 10))

        player1_points = render_text(f'{player1.points}')
        surface.blit(player1_points,
                     ((25 + player1.icon_rendered.get_width() + 25), 50 +
                      (player1.icon_rendered.get_height() -
                       player1_points.get_height()) // 2))

        surface.blit(player1.icon_rendered, (25, 50))
        surface.blit(
            player2.icon_rendered,
            ((config['WIDTH'] - player2.icon_rendered.get_width() - 25), 50))

        player2_points = render_text(f'{player2.points}')
        surface.blit(player2_points,
                     (((config['WIDTH'] - player2.icon_rendered.get_width()) -
                       player2_points.get_width() - 50), 50 +
                      (player2.icon_rendered.get_height() -
                       player2_points.get_height()) // 2))

        for entity in entities:
            entity.render(surface)
Example #9
0
    def graphics(surface, player1, player2, entities):

        display.fill((255, 255, 255))

        name = render_text('Name:')
        surface.blit(name, (50, 50))
        surface.blit(name, (350, 50))

        icon = render_text('Icon:')
        surface.blit(icon, (50, 200))
        surface.blit(icon, (350, 200))

        pygame.draw.rect(surface, (230, 230, 230),
                         (50, 250, player1.icon_rendered.get_width(),
                          player1.icon_rendered.get_height()), 2)
        pygame.draw.rect(surface, (230, 230, 230),
                         (350, 250, player1.icon_rendered.get_width(),
                          player1.icon_rendered.get_height()), 2)

        surface.blit(player1.icon_rendered, (50, 250))
        surface.blit(player2.icon_rendered, (350, 250))

        for entity in entities:
            entity.render(surface)
Example #10
0
    def render(self, surface):

        text = render_text(self.text,
                           font='arial',
                           fontsize=self.fontsize,
                           color=self.textcolor)

        pygame.gfxdraw.rectangle(surface, self.rect, self.color)
        surface.fill(self.color, self.rect)
        pygame.gfxdraw.filled_circle(surface, self.x,
                                     (self.y + self.radius - 1), self.radius,
                                     self.color)
        pygame.gfxdraw.filled_circle(surface, (self.x + self.width),
                                     (self.y + self.radius - 1), self.radius,
                                     self.color)

        surface.blit(text,
                     (self.x + (self.width - text.get_width()) // 2, self.y +
                      (self.height - text.get_height()) // 2))
Example #11
0
    def update(self):

        self.name_rendered = render_text(self.name)
        self.active_name_rendered = render_text(self.name, color=(255, 0, 0))
        self.icon_rendered = load_image(self.icon)
Example #12
0
    def render(self, surface):

        pygame.draw.rect(surface, (255, 255, 255), self.rect)

        for row in range(self.n_tiles):
            for column in range(self.n_tiles):
                self.tile_map[row][column].render(surface)

        if self.selected_tile:
            paths, attack_paths = self.figure_map[self.selected_tile[0]][
                self.selected_tile[1]].paths(self.n_tiles, self.figure_map)

            for path in paths:
                tile = pygame.Surface((self.tile_width, self.tile_height))
                tile.set_alpha(0.3 * 255)
                tile.fill((0, 128, 0))

                surface.blit(tile, (self.tile_map[path[0]][path[1]].rect.left,
                                    self.tile_map[path[0]][path[1]].rect.top))

            for attack_path in attack_paths:
                tile = pygame.Surface((self.tile_width, self.tile_height))
                tile.set_alpha(0.3 * 255)
                tile.fill((255, 70, 70))

                surface.blit(
                    tile,
                    (self.tile_map[attack_path[0]][attack_path[1]].rect.left,
                     self.tile_map[attack_path[0]][attack_path[1]].rect.top))

            pygame.draw.rect(
                surface, (255, 0, 0), self.tile_map[self.selected_tile[0]][
                    self.selected_tile[1]].rect, 2)

        for row in range(self.n_tiles):
            for column in range(self.n_tiles):

                if self.figure_map[row][column]:
                    self.figure_map[row][column].render(
                        surface, (self.x, self.y),
                        (self.tile_width, self.tile_height))

        if self.recent_move != None:

            start = (self.x + self.recent_move[0][1] * self.tile_width +
                     0.5 * self.tile_width,
                     self.y + self.recent_move[0][0] * self.tile_height +
                     0.5 * self.tile_height)
            stop = (self.x + self.recent_move[1][1] * self.tile_width +
                    0.5 * self.tile_width,
                    self.y + self.recent_move[1][0] * self.tile_height +
                    0.5 * self.tile_height)

            move = self.move_type[0] + self.convert_board_coordinates(
                self.recent_move[0]
            ) + self.move_type[1] + self.convert_board_coordinates(
                self.recent_move[1])
            move_rendered = render_text(move, fontsize=25)
            surface.blit(
                move_rendered,
                (self.x +
                 (self.width - move_rendered.get_width()) // 2, self.y - 75))

            arrow = Arrow(start, stop, 5, (220, 200, 0))
            arrow.render(surface)