-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathunit_tile.py
More file actions
79 lines (74 loc) · 2.85 KB
/
unit_tile.py
File metadata and controls
79 lines (74 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import pygame
from constants import *
def unit_tile_circle(color, hollow=False, small=False):
if small:
cell_size = ZOOMED_OUT_CELL_SIZE
else:
cell_size = CELL_SIZE
image = pygame.Surface((cell_size, cell_size))
image.set_colorkey(ALPHA_KEY)
image.fill(ALPHA_KEY)
if hollow:
pygame.draw.circle(image, color, (cell_size // 2, cell_size // 2), cell_size // 3, 4)
else:
pygame.draw.circle(image, color, (cell_size // 2, cell_size // 2), cell_size // 3)
return image
def unit_tile_triangle(color, upsidedown=False, small=False):
if small:
cell_size = ZOOMED_OUT_CELL_SIZE
else:
cell_size = CELL_SIZE
image = pygame.Surface((cell_size, cell_size))
image.set_colorkey(ALPHA_KEY)
image.fill(ALPHA_KEY)
if upsidedown:
vert = (cell_size // 2, cell_size - 1)
left = (0, 0)
right = (cell_size - 1, 0)
else:
vert = (cell_size // 2, 0)
left = (0, cell_size - 1)
right = (cell_size - 1, cell_size - 1)
pygame.draw.polygon(image, color, (vert, left, right))
image = pygame.transform.scale(image, (int(image.get_width() * .66), int(image.get_height() * .66)))
base = pygame.Surface((cell_size, cell_size))
base.set_colorkey(ALPHA_KEY)
base.fill(ALPHA_KEY)
base.blit(image, (int(image.get_width() * .33), int(image.get_height() * .33)))
return base
def unit_tile_cross(color, small=False):
if small:
cell_size = ZOOMED_OUT_CELL_SIZE
else:
cell_size = CELL_SIZE
image = pygame.Surface((cell_size, cell_size))
image.set_colorkey(ALPHA_KEY)
image.fill(ALPHA_KEY)
rect_side_a = cell_size // 4
rect_side_b = cell_size
h_rect = (0, cell_size // 2 - rect_side_a // 2, cell_size, rect_side_a)
v_rect = (cell_size // 2 - rect_side_a // 2, 0, rect_side_a, cell_size)
pygame.draw.rect(image, color, h_rect)
pygame.draw.rect(image, color, v_rect)
image = pygame.transform.scale(image, (int(image.get_width() * .66), int(image.get_height() * .66)))
base = pygame.Surface((cell_size, cell_size))
base.set_colorkey(ALPHA_KEY)
base.fill(ALPHA_KEY)
base.blit(image, (int(image.get_width() * .33), int(image.get_height() * .33)))
return base
def unidentified_unit_tile(entity, small=False):
if entity.name == "freighter":
if small:
return unit_tile_circle("dark gray", small=True)
else:
return unit_tile_circle("dark gray")
elif entity.name == "small convoy escort":
if small:
return unit_tile_triangle("dark gray", small=True)
else:
return unit_tile_triangle("dark gray")
elif entity.name == "escort sub":
if small:
return unit_tile_triangle("dark gray", upsidedown=True, small=True)
else:
return unit_tile_triangle("dark gray", upsidedown=True)