Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activity.py4
-rwxr-xr-xactivity/activity.info8
-rw-r--r--bridge.py11
-rw-r--r--tools.py2
4 files changed, 14 insertions, 11 deletions
diff --git a/activity.py b/activity.py
index d3ac1bd..9b06047 100644
--- a/activity.py
+++ b/activity.py
@@ -7,9 +7,9 @@ from gettext import gettext as _
import gtk
-class PhysicsActivity(olpcgames.PyGameActivity):
+class BridgeActivity(olpcgames.PyGameActivity):
game_name = 'physics'
- game_title = 'Physics'
+ game_title = 'Bridge'
game_size = None # olpcgame will choose size
# setup the toolbar
diff --git a/activity/activity.info b/activity/activity.info
index 0ed942d..40c5760 100755
--- a/activity/activity.info
+++ b/activity/activity.info
@@ -1,7 +1,7 @@
[Activity]
-name = Physics
-service_name = org.laptop.physics
-class = activity.PhysicsActivity
-icon = activity-physics
+name = Bridge
+service_name = org.laptop.bridge
+class = activity.BridgeActivity
+icon = activity-bridge
activity_version = 1
show_launcher = yes
diff --git a/bridge.py b/bridge.py
index 45b718a..f389206 100644
--- a/bridge.py
+++ b/bridge.py
@@ -73,12 +73,15 @@ class Bridge:
rearaxle = self.world.get_bodies_at_pos(rearwheel)
frontaxle = self.world.get_bodies_at_pos(frontwheel)
- self.world.add.jointMotor(rearaxle[0],rearaxle[1],rearwheel)
- self.world.add.jointMotor(frontaxle[0],frontaxle[1],frontwheel)
+ if len(rearaxle) == 2:
+ self.world.add.jointMotor(rearaxle[0],rearaxle[1],rearwheel)
+ if len(frontaxle) == 2:
+ self.world.add.jointMotor(frontaxle[0],frontaxle[1],frontwheel)
for i in range(1,len(points)):
backlink = (points[i][0]+train[0]-1,points[i][1]+train[1]-1)
frontlink = (points[i-1][0]+1,points[i-1][1]+train[1]-1)
btrain = self.world.get_bodies_at_pos(backlink)
- ftrain = self.world.get_bodies_at_pos(frontlink)
- self.world.add.distanceJoint(btrain[0], ftrain[0], backlink, frontlink)
+ ftrain = self.world.get_bodies_at_pos(frontlink)
+ if len(ftrain) and len(btrain):
+ self.world.add.distanceJoint(btrain[0], ftrain[0], backlink, frontlink)
diff --git a/tools.py b/tools.py
index ec291d2..a570867 100644
--- a/tools.py
+++ b/tools.py
@@ -27,7 +27,7 @@ class Tool(object):
#space pauses
self.game.world.run_physics = not self.game.world.run_physics
elif event.key == K_t:
- self.game.setTool("triangle")
+ self.game.bridge.create_train()
elif event.key == K_b:
self.game.setTool("box")
elif event.key == K_c: