import pygame
import pygame.gfxdraw
from extra_tools import GridCoords
from game_drawings import WormsSheet
from pacworms_global import CONST
class WormsSprites:
def __init__(self):
#
# tableau des elements worms
#
self.worms_sprites_elements = []
# creation de la feuille de dessin des worms
# worms_sheet = WormsSheet()
#
worms_sheet_surface = WormsSheet().get_worms_sheet_surface().convert()
#
# creation d'une grille
#
self.grid_size = CONST.GridGame.size
self.grid_width = CONST.SpriteSheetSize.width
self.grid_height = CONST.SpriteSheetSize.height
grid_coords = GridCoords(self.grid_width, self.grid_height, self.grid_size)
#
# creer les surfaces et blitter les elements worms
#
for line in range(self.grid_height):
for column in range(self.grid_width):
sprite = pygame.Surface((self.grid_size, self.grid_size))
sprite.blit(worms_sheet_surface,
(0, 0),
(grid_coords.x[column], grid_coords.y[line], self.grid_size, self.grid_size))
self.worms_sprites_elements.append(sprite)
def show_elements(self, screen):
"""
afficher tous les elements worms
:param screen: screen
:return:
"""
indice_element = 0
for line in range(self.grid_height):
for column in range(self.grid_width):
screen.blit(self.worms_sprites_elements[indice_element],
(0 + (self.grid_size * column),
0 + (self.grid_size * line)))
indice_element += 1
def get_element(self, worm_name, outline, element):
"""
retourne un sprite worm
:param worm_name: WORMY, BLINKY, PINKY, INKY, CLYDE, COBRA
:param outline: true, false
:param element: indice element 0 -> 24 ( self.grid_width = DefWorms.WIDTH )
:return: sprite surface
"""
indice_element = (((worm_name * 2) + outline) * self.grid_width) + element
return self.worms_sprites_elements[indice_element]