X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml%2F__init__.py;h=d872be88ed5eb738d2022c182faa220ccc6eed3a;hp=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hb=HEAD;hpb=2e1e64f1f8076dd21a5ea1e7f8af6dbb74946d57 diff --git a/bulletml/__init__.py b/bulletml/__init__.py index e69de29..d872be8 100644 --- a/bulletml/__init__.py +++ b/bulletml/__init__.py @@ -0,0 +1,48 @@ +"""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. A sample renderer for Pygame is included. The full +API documentation is contained in its Python docstrings. + +In addition to the standard BulletML XML format, this module supports +an equivalent YAML format. For convenience, two simple collision +routines are provided, bulletml.overlaps for stationary circles and +bulletml.collides for moving circles. + +More information is available at the BulletML homepage, +http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html, or the +python-bulletml homepage, https://yukkurigames.com/python-bulletml/. + + +Basic Usage: + + from bulletml import Bullet, BulletML + + doc = BulletML.FromDocument(open("test.xml", "rU")) + player = ... # On your own here, but it needs x and y fields. + rank = 0.5 # Player difficulty, 0 to 1 + + bullet = Bullet.FromDocument(doc, x, y, target=player, rank=rank) + bullets = [bullet] + ... + for bullet in bullets: + bullets.extend(bullet.step()) # step() returns new Bullets + ... + +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 +from bulletml.collision import overlaps, collides, collides_all + +VERSION = (3,) +VERSION_STRING = ".".join(map(str, VERSION)) + +__all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML", + "overlaps", "collides", "collides_all"]