-
Notifications
You must be signed in to change notification settings - Fork 0
/
interaction.py
127 lines (85 loc) · 5.67 KB
/
interaction.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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import pygame, sys, functions
from tileC import Tile
from characterC import Character
from menuC import *
def menu_interaction(screen):
Mpos = pygame.mouse.get_pos() # [x, y]
Mx = Mpos[0]
My = Mpos[1]
for button in Button.List:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if Mx >= button.x and Mx <= button.x + button.width and My > button.y and My <= button.y + button.height:
button.color = (0,124,107)
if event.type == pygame.MOUSEBUTTONDOWN:
if button.action == 'PLAY':
functions.state = 2
if button.action == 'DEVELOP':
print 'bajs'
else:
button.color = (255,255,255)
def interaction(screen, bill, bull):
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
keys = pygame.key.get_pressed()
#WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
if keys[pygame.K_w] and not bill.has_target() and not bull.has_target(): # North
future_tile_number_bill = bill.get_number() - Tile.V
future_tile_number_bull = bull.get_number() - Tile.V
if future_tile_number_bill and future_tile_number_bull in range(1, Tile.total_tiles + 1):
if future_tile_number_bull == Tile.MAP['point'] and not Tile.get_tile(future_tile_number_bill).walkable:
bull.set_target(Tile.get_tile(future_tile_number_bull))
if future_tile_number_bill != bull.get_number():
if Tile.get_tile(future_tile_number_bill).walkable:
bill.set_target(Tile.get_tile(future_tile_number_bill))
if future_tile_number_bull != bill.get_number():
if Tile.get_tile(future_tile_number_bull).walkable:
bull.set_target(Tile.get_tile(future_tile_number_bull))
#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
if keys[pygame.K_s] and not bill.has_target() and not bull.has_target(): # South
future_tile_number_bill = bill.get_number() + Tile.V
future_tile_number_bull = bull.get_number() + Tile.V
if future_tile_number_bill and future_tile_number_bull in range(1, Tile.total_tiles + 1):
if future_tile_number_bull == Tile.MAP['point'] and not Tile.get_tile(future_tile_number_bill).walkable:
bull.set_target(Tile.get_tile(future_tile_number_bull))
if future_tile_number_bill != bull.get_number():
if Tile.get_tile(future_tile_number_bill).walkable:
bill.set_target(Tile.get_tile(future_tile_number_bill))
if future_tile_number_bull != bill.get_number():
if Tile.get_tile(future_tile_number_bull).walkable:
bull.set_target(Tile.get_tile(future_tile_number_bull))
#AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
if keys[pygame.K_a] and not bill.has_target() and not bull.has_target(): # West
future_tile_number_bill = bill.get_number() - Tile.H
future_tile_number_bull = bull.get_number() - Tile.H
if future_tile_number_bill and future_tile_number_bull in range(1, Tile.total_tiles + 1):
if future_tile_number_bull == Tile.MAP['point'] and not Tile.get_tile(future_tile_number_bill).walkable:
bull.set_target(Tile.get_tile(future_tile_number_bull))
if future_tile_number_bill != bull.get_number():
if Tile.get_tile(future_tile_number_bill).walkable:
bill.set_target(Tile.get_tile(future_tile_number_bill))
if future_tile_number_bull != bill.get_number():
if Tile.get_tile(future_tile_number_bull).walkable:
bull.set_target(Tile.get_tile(future_tile_number_bull))
#DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
if keys[pygame.K_d] and not bill.has_target() and not bull.has_target(): # East
future_tile_number_bill = bill.get_number() + Tile.H
future_tile_number_bull = bull.get_number() + Tile.H
if future_tile_number_bill and future_tile_number_bull in range(1, Tile.total_tiles + 1):
if future_tile_number_bull == Tile.MAP['point'] and not Tile.get_tile(future_tile_number_bill).walkable:
bull.set_target(Tile.get_tile(future_tile_number_bull))
if future_tile_number_bill != bull.get_number():
if Tile.get_tile(future_tile_number_bill).walkable:
bill.set_target(Tile.get_tile(future_tile_number_bill))
if future_tile_number_bull != bill.get_number():
if Tile.get_tile(future_tile_number_bull).walkable:
bull.set_target(Tile.get_tile(future_tile_number_bull))
if keys[pygame.K_u] and not bill.has_target() and not bull.has_target(): # North
bill.unnatural = True
bill.set_target(Tile.get_tile(Tile.MAP['spawn'][1]))
if keys[pygame.K_ESCAPE]:
functions.state = 3