-
Notifications
You must be signed in to change notification settings - Fork 0
/
res.py
100 lines (81 loc) · 3.48 KB
/
res.py
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import pygame
import os
import cal
dir_res = 'res'
name_icon = 'brokeback.png'
name_start = 'start.png'
name_icon_speedup = 'kit_speedup.png'
name_icon_reverse = 'kit_reverse.png'
text_caption = 'Broke Back'
tick_game = 60
clock = pygame.time.Clock()
fontsize_msg = 32
pygame.font.init()
font_msg = pygame.font.SysFont("comicsansms", fontsize_msg)
width_game_map_wall = 4
size_display = (1280, 720)
size_game_map = (960, 720)
size_panel_p1 = (150, 720)
size_panel_p2 = (150, 720)
size_grid = (60, 60) # 16x12 (960/60,720/60) grids will be created
size_arrow = (size_grid[0]-2*width_game_map_wall, size_grid[1]-2*width_game_map_wall)
size_kit = ( size_grid[0]-5*width_game_map_wall, size_grid[1]-5*width_game_map_wall )
grid_position_start_p1 = (0,0)
grid_position_start_p2 = (15, 0)
position_game_map = (160, 0)
position_panel_p1 = (0, 0)
position_panel_p2 = (size_display[0]-150, 0)
game_map_grids = ( 12, 5, 5, 4, 5, 5, 4, 5, 5, 4, 5, 5, 4, 5, 5, 6,
10, 12, 5, 2, 15, 15, 10, 12, 6, 10, 15, 15, 8, 5, 6, 10,
10, 10, 15, 10, 15, 15, 10, 10, 10, 10, 15, 15, 10, 15, 10, 10,
8, 2, 15, 8, 5, 4, 1, 3, 9, 1, 4, 5, 2, 15, 8, 2,
10, 10, 15, 10, 15, 10, 12, 4, 4, 6, 10, 15, 10, 15, 10, 10,
10, 9, 5, 2, 15, 8, 0, 0, 0, 0, 2, 15, 8, 5, 3, 10,
10, 12, 5, 2, 15, 8, 0, 0, 0, 0, 2, 15, 8, 5, 6, 10,
10, 10, 15, 10, 15, 10, 9, 1, 1, 3, 10, 15, 10, 15, 10, 10,
8, 2, 15, 8, 5, 1, 4, 6, 12, 4, 1, 5, 2, 15, 8, 2,
10, 10, 15, 10, 15, 15, 10, 10, 10, 10, 15, 15, 10, 15, 10, 10,
10, 9, 5, 2, 15, 15, 10, 9, 3, 10, 15, 15, 8, 5, 3, 10,
9, 5, 5, 1, 5, 5, 1, 5, 5, 1, 5, 5, 1, 5, 5, 3)
game_map_grids_blank=( 12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3)
speed_max = 10
distance_collision = size_grid[0]/2
# speed should not bigger than this, or arrow will escape
distance_grid_wall_detect = speed_max
distance_grid_turn = size_grid[0]/4
color_background = (30, 30, 30)
color_msg = (222,222,222)
color_obj = (123, 123, 222)
color_p1 = (100, 100, 250)
color_p2 = (250, 100, 100)
color_map = (10, 10, 10)
color_wall = (100, 250, 100)
unit_len = 1
def unit(num):
return unit_len * num
# Configuration of generating kit in game_map
kit_freq = tick_game*3
kit_max = 7
# enum game event
game_brokeback = 1
game_collision = 2
game_side_collision = 3
# pygame var
surface_icon = pygame.image.load( os.path.join(dir_res, name_icon) )
surface_icon_speedup = pygame.image.load( os.path.join(dir_res, name_icon_speedup) )
surface_icon_reverse = pygame.image.load( os.path.join(dir_res, name_icon_reverse) )
# p1 and p2 's panel size is the same. use same local layout
slot_layout = ( (size_panel_p1[0]/3,100)+size_kit, (size_panel_p1[0]/3,200)+size_kit, (size_panel_p1[0]/3,300)+size_kit )
control_p1 = { 'left':pygame.K_a, 'right':pygame.K_d, 'up':pygame.K_w, 'down':pygame.K_s, 'kit':pygame.K_LCTRL}
control_p2 = { 'left':pygame.K_LEFT, 'right':pygame.K_RIGHT, 'up':pygame.K_UP, 'down':pygame.K_DOWN, 'kit':pygame.K_RCTRL}