Esempio n. 1
0
    def get_render_info(
        self, transform: Tuple, buffer_to_render: BufferToRender
    ):
        new_transform = (
            transform[0] + self.collision.x,
            transform[1] + self.collision.y,
            1,
            1,
        )
        result = list()
        result.append(
            DrawInformation(
                transform=transform,
                draw_rect=self.collision,
                fill_color=self.back_color,
            )
        )

        for button in self.buttons:
            button_info = button.get_render_info(
                new_transform, buffer_to_render
            )
            for button_info_parts in button_info:
                result.append(button_info_parts)

        return result
Esempio n. 2
0
    def get_render_info(self,
                        transform: Tuple,
                        buffer_to_render: BufferToRender,
                        buffer_to_draw: DrawingBuffer = None,
                        bot_mode: bool = None):
        new_transform = (
            transform[0] + self.collision.x,
            transform[1] + self.collision.y,
            1,
            1,
        )
        result = list()
        buffer_to_draw.add(
            DrawInformation(
                transform=transform,
                draw_rect=self.collision,
                fill_color=self.back_color,
            ))
        self.field_element.get_render_info(new_transform, buffer_to_render,
                                           buffer_to_draw, bot_mode)

        for text_render_info in self.my_field_text_marker.get_render_info(
                new_transform, buffer_to_render):
            buffer_to_draw.add(text_render_info)

        for button in self.buttons:
            button_info = button.get_render_info(new_transform,
                                                 buffer_to_render)
            for button_info_parts in button_info:
                buffer_to_draw.add(button_info_parts)

        return result
Esempio n. 3
0
 def __init__(self,
              rect: Rect,
              absolute_position: Tuple,
              text: str = "",
              fill_color: Tuple = DEFAULT_TEXT_FILLCOLOR):
     super().__init__(rect, absolute_position)
     self.draw_info = DrawInformation(draw_rect=rect,
                                      fill_color=fill_color,
                                      outline_color=BLACK_COLOR,
                                      text_color=BLACK_COLOR,
                                      text=text,
                                      text_size=18)
     self.is_focused = False
Esempio n. 4
0
 def add_cells_to_buffer(self, cells, buffer_to_draw, new_transform):
     for cell in cells:
         buffer_to_draw.add(DrawInformation(
             transform=new_transform,
             draw_rect=Rect(
                 self.absolute_position[0] + cell[
                     0] * self.cell_width + self.padding,
                 self.absolute_position[1] + cell[
                     1] * self.cell_height + self.padding,
                 self.cell_width - self.padding * 2,
                 self.cell_height - self.padding * 2
             ),
             fill_color=self.colors[cell[2]]
         ))
Esempio n. 5
0
    def get_render_info(self, transform: Tuple,
                        buffer_to_render: BufferToRender):
        new_transform = (
            transform[0] + self.collision.x,
            transform[1] + self.collision.y,
            1,
            1,
        )
        result = list()
        result.append(
            DrawInformation(
                transform=transform,
                draw_rect=self.collision,
                fill_color=self.back_color,
            ))

        if buffer_to_render.vk_access:
            self.vk_post_button.draw_info.fill_color = RED_COLOR
        else:
            if buffer_to_render.posted:
                self.vk_post_button.draw_info.fill_color = GREEN_COLOR
            else:
                self.vk_post_button.draw_info.fill_color = \
                    DEFAULT_TEXT_FILLCOLOR

        for button in self.buttons:
            button_info = button.get_render_info(new_transform,
                                                 buffer_to_render)
            for button_info_parts in button_info:
                result.append(button_info_parts)

        if buffer_to_render.battle_result[1]:
            end_battle_message = "Победа!"
            self.text.draw_info.fill_color = GREEN_COLOR
        else:
            if buffer_to_render.is_time_up:
                end_battle_message = "Поражение! Время вышло!"
            else:
                end_battle_message = "Поражение! Все твои корабли потоплены"
            self.text.draw_info.fill_color = RED_COLOR

        self.text.draw_info.text = end_battle_message
        text_render_info = self.text.get_render_info(new_transform,
                                                     buffer_to_render)
        for text_render_info_parts in text_render_info:
            result.append(text_render_info_parts)

        return result
Esempio n. 6
0
    def get_render_info(
        self,
        transform: Tuple,
        buffer_to_render: BufferToRender,
        buffer_to_draw: DrawingBuffer = None,
    ):
        new_transform = (
            transform[0] + self.collision.x,
            transform[1] + self.collision.y,
            1,
            1,
        )
        result = list()
        buffer_to_draw.add(
            DrawInformation(
                transform=transform,
                draw_rect=self.collision,
                fill_color=self.back_color,
            ))

        timer_text = Text(
            Rect(CELL_SIZE * 12, CELL_SIZE * 2, CELL_SIZE * 4, CELL_SIZE),
            (CELL_SIZE, CELL_SIZE),
            "Осталось {} сек.".format(str(buffer_to_render.session_timer)),
        )

        for text_render_info in timer_text.get_render_info(
                new_transform, buffer_to_render):
            buffer_to_draw.add(text_render_info)

        for text_render_info in self.my_field_text_marker.get_render_info(
                new_transform, buffer_to_render):
            buffer_to_draw.add(text_render_info)

        for text_render_info in self.bot_field_text_marker.get_render_info(
                new_transform, buffer_to_render):
            buffer_to_draw.add(text_render_info)

        self.player_field_element.get_render_info(new_transform,
                                                  buffer_to_render,
                                                  buffer_to_draw, False)

        self.bot_field_element.get_render_info(new_transform, buffer_to_render,
                                               buffer_to_draw, True)

        return result
Esempio n. 7
0
 def __init__(self, rect: Rect, absolute_position: Tuple):
     self.collision = rect
     self.absolute_position = absolute_position
     self.draw_info = DrawInformation(draw_rect=rect)