import bulletml
+try:
+ import psyco
+except ImportError:
+ pass
+else:
+ psyco.full()
+
def main(argv):
if not argv:
raise SystemExit("Usage: %s filename ..." % sys.argv[0])
while True:
filename = argv[file_idx % len(argv)]
- doc = bulletml.BulletML(open(filename, "rU"))
- source = bulletml.Bullet.FromDoc(
- doc, x=150, y=150, target=target, rank=0.5)
+ doc = bulletml.BulletML.FromDocument(open(filename, "rU"))
+ actions = [act([], 0.5) for act in doc.top]
+ source = bulletml.Bullet(
+ x=150, y=150, target=target, actions=actions, rank=0.5)
active = set([source])
source.vanished = True
elif event.key == pygame.K_RETURN:
newfile = True
elif event.key == pygame.K_s:
- source = bulletml.Bullet.FromDoc(
- doc, x=150, y=150, target=target, rank=0.5)
+ actions = [act([], 0.5) for act in doc.top]
+ source = bulletml.Bullet(
+ x=150, y=150, target=target,
+ actions=actions, rank=0.5)
source.vanished = True
active.add(source)
target.x, target.y = pygame.mouse.get_pos()
frames += 1
if frames % 100 == 0:
- seconds_per_bullet = elapsed / count
- bullets_per_second = count / elapsed
print " Processing: %04d: %d bullets, %d active." % (
frames, total, count)
- print " %g seconds per bullet (60Hz max: %g)." % (
- seconds_per_bullet, bullets_per_second / 60)
+ if elapsed:
+ seconds_per_bullet = elapsed / count
+ bullets_per_second = count / elapsed
+ print " %g seconds per bullet (60Hz max: %g)." % (
+ seconds_per_bullet, bullets_per_second / 60)
screen.fill([0, 0, 0])
for obj in active: