diff options
author | Rodolfo D. Arce S <rodolfo.arce.s@gmail.com> | 2011-05-17 17:44:57 (GMT) |
---|---|---|
committer | Rodolfo D. Arce S <rodolfo.arce.s@gmail.com> | 2011-05-17 17:44:57 (GMT) |
commit | 1082b11f8724475e79513bd3b041c96669cfcb60 (patch) | |
tree | e90320cc7270626c0dc853ce48eda8e305787330 | |
parent | 29db09662bcd25623596b880d7d72b546ae2b322 (diff) |
Changed direction of garbage, take score if person hits garbage or if robot hits person
-rw-r--r-- | garbage.py | 11 | ||||
-rw-r--r-- | main.py | 20 | ||||
-rw-r--r-- | person.py | 3 |
3 files changed, 22 insertions, 12 deletions
@@ -9,6 +9,7 @@ class Garbage: self.unit = unit self.speed = garbage_speed self.image = pygame.image.load(fallers[randint(0, fallers_size - 1)]) + self.alert_image = pygame.image.load("images/atention.png") image_rect = self.image.get_rect() size_reduction = 5*unit self.collision_rect = pygame.Rect(image_rect.left + size_reduction, \ @@ -23,14 +24,20 @@ class Garbage: def update(self): image_center = self.image.get_width()/2 - self.position = [((self.position[0] + randint(0,10) )%self.screen_w), \ - ((self.position[1] + randint(0,10) )%self.screen_h) ] + self.position = [((self.position[0] - randint(0,10) )%self.screen_w), \ + ((self.position[1] - randint(0,10) )%self.screen_h) ] + + def collides_with(self, other): + return self.get_absolute_rect().colliderect(other.get_absolute_rect()) def draw(self, on_surface): on_surface.blit(self.image, self.position) def died(self): return self.position[0] > self.screen_w + + def draw_alert(self, on_surface): + on_surface.blit(self.alert_image, self.position) def get_absolute_rect(self): return self.collision_rect.move(self.position) @@ -88,7 +88,7 @@ while not exit: if last_garbage_tick == 0: last_garbage_tick = garbage_generation_ticks for person in people: - trash.append(Garbage( window_w, window_h, unit, garbage_speed, person.position )) + trash.append(Garbage( window_w, window_h, unit, garbage_speed, (person.position[0] - 20, person.position[1] - 20) )) else: last_garbage_tick -= 1 @@ -102,7 +102,7 @@ while not exit: if robot.collides_with(garbage): #lost_game = True trash.remove(garbage) - score += 5 + score += 50 # Remove objects that "died" for person in people: @@ -141,14 +141,14 @@ while not exit: if robot.collides_with(person): robot.draw(screen) robot.draw_alert(screen) - #score -= 1 - - - - - # Add score if you pick garbage - #if position_garbage == position_robot: - # score = score + 1 + score -= 5 + + for person in people: + if garbage.collides_with(person): + garbage.draw(screen) + garbage.draw_alert(screen) + score -= 5 + pygame.display.update() @@ -32,6 +32,9 @@ class Person: def died(self): return self.position[0] > self.screen_w + + def draw_alert(self, on_surface): + on_surface.blit(self.alert_image, self.position) def get_absolute_rect(self): return self.collision_rect.move(self.position) |