"""BulletML parser. BulletML is the Bullet Markup Language. BulletML can describe the barrage of bullets in shooting games. (For example Progear, Psyvariar, Gigawing2, G DARIUS, XEVIOUS, ...) This module parses and executes BulletML scripts in Python. All data structures in it are renderer-agnostic. More information is available at the BulletML homepage, http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html, or the python-bullet homepage, http://code.google.com/p/python-bulletml/. Basic Usage: from bulletml import Bullet, BulletML doc = Bulletml.BulletML.FromDocument(open("test.xml", "rU")) rank = 0.5 # Player difficulty, 0 to 1 params = [] # Initial variable settings, usually empty actions = [a(params, rank) for a in doc.top] bullet = Bullet(x, y, target=player, actions=actions, rank=rank) bullets = [bullet] ... for bullet in bullets: bullets.extend(bullet.step()) ... For drawing, you're on your own, but Bullet instances have a number of attributes that can be used to influence it. """ from bulletml.parser import BulletML from bulletml.impl import Bullet VERSION = (0, 1) VERSION_STRING = ".".join(map(str, VERSION)) __all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML"]