Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodolfo 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)
commit1082b11f8724475e79513bd3b041c96669cfcb60 (patch)
treee90320cc7270626c0dc853ce48eda8e305787330
parent29db09662bcd25623596b880d7d72b546ae2b322 (diff)
Changed direction of garbage, take score if person hits garbage or if robot hits person
-rw-r--r--garbage.py11
-rw-r--r--main.py20
-rw-r--r--person.py3
3 files changed, 22 insertions, 12 deletions
diff --git a/garbage.py b/garbage.py
index 060b79c..478f3ce 100644
--- a/garbage.py
+++ b/garbage.py
@@ -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)
diff --git a/main.py b/main.py
index ed1ea30..6e4c88b 100644
--- a/main.py
+++ b/main.py
@@ -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()
diff --git a/person.py b/person.py
index 693176a..d8ed55e 100644
--- a/person.py
+++ b/person.py
@@ -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)