diff options
author | nrp <olpc@spongezone.net> | 2008-09-14 03:21:03 (GMT) |
---|---|---|
committer | nrp <olpc@spongezone.net> | 2008-09-14 03:21:03 (GMT) |
commit | 379cccc3a7230a4c30bc0546544b8a9a0c21a7c7 (patch) | |
tree | 59fb9f33bfd80e2724df0dd5c188843cade152d7 | |
parent | f2af9bef534b737bf62168605f2304c503b0ce50 (diff) |
making cost decrease when deleting
-rw-r--r-- | bridge.py | 7 | ||||
-rw-r--r-- | tools.py | 9 |
2 files changed, 15 insertions, 1 deletions
@@ -44,9 +44,16 @@ class Bridge: self.joints.append(joint) self.add_cost(100) self.capacity += 500 + + def joint_deleted(self): + self.add_cost(-100) + self.capacity -= 500 def box_added(self): self.add_cost(10) + + def box_deleted(self): + self.add_cost(-10) def for_each_frame(self): self.stress = 0 @@ -216,8 +216,15 @@ class DestroyTool(Tool): if len(self.vertices) > 10: self.vertices.pop(0) tokill = self.game.world.get_bodies_at_pos(pygame.mouse.get_pos()) - if tokill: + if tokill: + joint = tokill[0].GetJointList() + if joint: + self.game.bridge.joint_deleted() + while joint.next: + joint = joint.next + self.game.bridge.joint_deleted() self.game.world.world.DestroyBody(tokill[0]) + self.game.bridge.box_deleted() elif event.type == MOUSEBUTTONUP and event.button == 1: self.cancel() def draw(self): |