From 379cccc3a7230a4c30bc0546544b8a9a0c21a7c7 Mon Sep 17 00:00:00 2001 From: nrp Date: Sun, 14 Sep 2008 03:21:03 +0000 Subject: making cost decrease when deleting --- diff --git a/bridge.py b/bridge.py index ead0878..e01a866 100644 --- a/bridge.py +++ b/bridge.py @@ -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 diff --git a/tools.py b/tools.py index 8fc1261..51eeefe 100644 --- a/tools.py +++ b/tools.py @@ -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): -- cgit v0.9.1