"""BulletML parser.
-http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html
+This module parses and runs BulletML scripts. BulletML is a markup
+language for describing complex bullet patterns in shooting games.
+More information is available at the BulletML homepage,
+http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html.
+
+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 has a number of
+attributes that can be used to influence it.
+
"""
from bulletml.parser import BulletML
-from bulletml.impl import Bullet, Action
+from bulletml.impl import Bullet
VERSION = (1, 0)
VERSION_STRING = ".".join(map(str, VERSION))
+
+__all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML"]
+