diff options
-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): |