-
Notifications
You must be signed in to change notification settings - Fork 0
/
sensor.py
92 lines (74 loc) · 3.11 KB
/
sensor.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
import pygame
'''Bottom Vertical sensor lines '''
class sensor_A(pygame.sprite.Sprite):
def __init__(self,posx,posy,player):
super().__init__()
self.player = player
self.height = 80
self.width = 2
self.rect = pygame.Rect((self.player.rect.x + 64, self.player.rect.y + 128), (self.width, self.height)).clamp(self.player)
def draw(self, surface):
self.surface = surface
return pygame.draw.rect(surface,( 0, 255, 0) ,self.rect)
class sensor_B(pygame.sprite.Sprite):
def __init__(self,posx,posy,player):
super().__init__()
self.player = player
self.height = 80
self.width = 2
self.rect = pygame.Rect((self.player.rect.x + 128, self.player.rect.y + 128), (self.width, self.height)).clamp(self.player)
def draw(self, surface):
self.surface = surface
return pygame.draw.rect(surface,( 0, 255, 255) ,self.rect)
''' Horizontal sensor lines '''
class sensor_C(pygame.sprite.Sprite):
def __init__(self,posx,posy,player):
super().__init__()
self.player = player
self.height = 2
self.width = 40
self.rect = pygame.Rect((self.player.rect.centerx - 41, self.player.rect.y + 128), (self.width, self.height)).clamp(self.player)
def draw(self, surface):
self.surface = surface
return pygame.draw.rect(surface,( 255, 0, 255) ,self.rect)
def floor_mode(self):
self.rect.move_ip(0 ,16)
class sensor_D(pygame.sprite.Sprite):
def __init__(self,posx,posy,player):
super().__init__()
self.player = player
self.height = 2
self.width = 40
self.posx = posx
self.posy = posy + 64
self.rect = pygame.Rect((self.player.rect.centerx, self.player.rect.y + 128), (self.width, self.height)).clamp(self.player)
def draw(self, surface):
self.surface = surface
return pygame.draw.rect(surface,( 255, 0, 0) ,self.rect)
def floor_mode(self):
self.rect.move_ip(0 ,16)
'''Top Vertical sensor lines '''
class sensor_E(pygame.sprite.Sprite):
def __init__(self,posx,posy,player):
super().__init__()
self.player = player
self.height = 80
self.width = 2
self.posx = posx
self.posy = posy
self.rect = pygame.Rect((self.player.rect.x + 64, self.player.rect.y + 64 - 16), (self.width, self.height)).clamp(self.player)
def draw(self, surface):
self.surface = surface
return pygame.draw.rect(surface,( 100, 0, 255) ,self.rect)
class sensor_F(pygame.sprite.Sprite):
def __init__(self,posx,posy,player):
super().__init__()
self.player = player
self.height = 80
self.width = 2
self.posx = posx
self.posy = posy
self.rect = pygame.Rect((self.player.rect.x + 128, self.player.rect.y + 64 - 16), (self.width, self.height)).clamp(self.player)
def draw(self, surface):
self.surface = surface
return pygame.draw.rect(surface,( 255, 255, 0) ,self.rect)