diff options
author | Rodolfo D. Arce S <rodolfo.arce.s@gmail.com> | 2011-06-02 22:26:09 (GMT) |
---|---|---|
committer | Rodolfo D. Arce S <rodolfo.arce.s@gmail.com> | 2011-06-02 22:26:09 (GMT) |
commit | 89b3f3f403e1c8651471c2e601cf2e28634e5844 (patch) | |
tree | bf54c6e458050709a33e492aa2f6eb004cade56d | |
parent | 8ee2915ab8ec7c47856aa7ef4a9e37f15a551c56 (diff) |
Added some functions to set collision
-rw-r--r-- | cutter.py | 31 | ||||
-rw-r--r-- | tree.py | 12 |
2 files changed, 27 insertions, 16 deletions
@@ -27,22 +27,21 @@ class Cutter: random_number1 = randint(0,3) random_number2 = randint(0,3) - if random_number1 == random_number2: - if random_number1 == 0: - # Move the character around the screen - self.position = ((self.position[0] + random_number1 * self.speed + image_center)%self.screen_w - image_center), \ - ((self.position[1] + random_number1 * self.speed + image_center)%self.screen_h - image_center) - elif random_number1 == 1: - self.position = ((self.position[0] + random_number1 * self.speed + image_center)%self.screen_w - image_center), \ - ((self.position[1] - random_number1 * self.speed + image_center)%self.screen_h - image_center) - elif random_number1 == 2: - # Move the character around the screen - self.position = ((self.position[0] - random_number1 * self.speed + image_center)%self.screen_w - image_center), \ - ((self.position[1] - random_number1 * self.speed + image_center)%self.screen_h - image_center) - elif random_number1 == 3: - self.position = ((self.position[0] - random_number1 * self.speed + image_center)%self.screen_w - image_center), \ - ((self.position[1] + random_number1 * self.speed + image_center)%self.screen_h - image_center) - + if self.cut_tree == False: + if random_number1 == random_number2: + if random_number1 == 0: + self.position = ((self.position[0] + random_number1 * self.speed + image_center)%self.screen_w - image_center), \ + ((self.position[1] + random_number1 * self.speed + image_center)%self.screen_h - image_center) + elif random_number1 == 1: + self.position = ((self.position[0] + random_number1 * self.speed + image_center)%self.screen_w - image_center), \ + ((self.position[1] - random_number1 * self.speed + image_center)%self.screen_h - image_center) + elif random_number1 == 2: + self.position = ((self.position[0] - random_number1 * self.speed + image_center)%self.screen_w - image_center), \ + ((self.position[1] - random_number1 * self.speed + image_center)%self.screen_h - image_center) + elif random_number1 == 3: + self.position = ((self.position[0] - random_number1 * self.speed + image_center)%self.screen_w - image_center), \ + ((self.position[1] + random_number1 * self.speed + image_center)%self.screen_h - image_center) + def collides_with(self, other): return self.get_absolute_rect().colliderect(other.get_absolute_rect()) @@ -8,6 +8,18 @@ class Tree: def __init__(self, position): self.position = position self.image = pygame.image.load(tree_images[randint(0, tree_images_number - 1)]) + image_rect = self.image.get_rect() + size_reduction = 10 + self.collision_rect = pygame.Rect(image_rect.left + size_reduction, \ + image_rect.top + size_reduction, \ + image_rect.width - size_reduction, \ + image_rect.height - size_reduction) def draw(self, on_surface): on_surface.blit(self.image, self.position) + + def collides_with(self, other): + return self.get_absolute_rect().colliderect(other.get_absolute_rect()) + + def get_absolute_rect(self): + return self.collision_rect.move(self.position) |