MCPcopy Index your code
hub / github.com/geekcomputers/Python / checkCollision

Method checkCollision

Flappy Bird - created with tkinter/Bird.py:90–130  ·  view source on GitHub ↗

Método para verificar se o pássaro ultrapassou a borda da janela ou colidiu com algo

(self)

Source from the content-addressed store, hash-verified

88 return self.__isAlive
89
90 def checkCollision(self):
91 """
92 Método para verificar se o pássaro ultrapassou a borda da janela ou colidiu com algo
93 """
94
95 # Recebe a posição do pássaro no background
96 position = list(self.__canvas.bbox(self.__tag))
97
98 # Se o pássaro tiver ultrapassado a borda de baixo do background, ele será declarado morto
99 if position[3] >= self.__height + 20:
100 self.__isAlive = False
101
102 # Se o pássaro tiver ultrapassado a borda de cima do background, ele será declarado morto
103 if position[1] <= -20:
104 self.__isAlive = False
105
106 # Dá uma margem de erro ao pássaro de X pixels
107 position[0] += int(25 / 78 * self.width)
108 position[1] += int(25 / 77 * self.height)
109 position[2] -= int(20 / 78 * self.width)
110 position[3] -= int(10 / 77 * self.width)
111
112 # Define os objetos a serem ignorados em colisões
113 ignored_collisions = self.__canvas.getBackgroundID()
114 ignored_collisions.append(self.__birdID)
115
116 # Verifica possíveis colisões com o pássaro
117 possible_collisions = list(self.__canvas.find_overlapping(*position))
118
119 # Remove das possíveis colisões os objetos ignorados
120 for _id in ignored_collisions:
121 try:
122 possible_collisions.remove(_id)
123 except BaseException:
124 continue
125
126 # Se houver alguma colisão o pássaro morre
127 if len(possible_collisions) >= 1:
128 self.__isAlive = False
129
130 return not self.__isAlive
131
132 def getTag(self):
133 """

Callers 2

jumpsMethod · 0.95
runMethod · 0.95

Calls 3

getBackgroundIDMethod · 0.80
appendMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected