X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml-runner;h=9136f2133ff7090cf09800970df47374ae4c7e13;hp=21ba80e0f5da332f6b2e7b2c4bcc3eff89e7a6a0;hb=8186eda32d3764ceb7b75fac65bd968f598c4ac8;hpb=3ac708c4f991c41954e2d0a8847ffc6c18fdfd5b diff --git a/bulletml-runner b/bulletml-runner index 21ba80e..9136f21 100755 --- a/bulletml-runner +++ b/bulletml-runner @@ -7,6 +7,19 @@ import time import pygame import bulletml +import bulletml.bulletyaml + +try: + import yaml +except ImportError: + yaml = None + +try: + import psyco +except ImportError: + pass +else: + psyco.full() def main(argv): if not argv: @@ -23,9 +36,10 @@ def main(argv): 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.actions] + source = bulletml.Bullet( + x=150, y=150, target=target, actions=actions, rank=0.5) active = set([source]) source.vanished = True @@ -58,8 +72,10 @@ def main(argv): 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.actions] + 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() @@ -82,12 +98,13 @@ def main(argv): 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: