Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornrp <olpc@spongezone.net>2008-09-14 03:21:03 (GMT)
committer nrp <olpc@spongezone.net>2008-09-14 03:21:03 (GMT)
commit379cccc3a7230a4c30bc0546544b8a9a0c21a7c7 (patch)
tree59fb9f33bfd80e2724df0dd5c188843cade152d7
parentf2af9bef534b737bf62168605f2304c503b0ce50 (diff)
making cost decrease when deleting
-rw-r--r--bridge.py7
-rw-r--r--tools.py9
2 files changed, 15 insertions, 1 deletions
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):