X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml%2F__init__.py;h=d872be88ed5eb738d2022c182faa220ccc6eed3a;hp=4643d0089a4ad47d771a062f16eb0efef03b91b3;hb=dca04aaf45403526f46d0f2ffe07cf6f062ee136;hpb=cbf6542a1876a86e4f75c96bad92f653ed924618 diff --git a/bulletml/__init__.py b/bulletml/__init__.py index 4643d00..d872be8 100644 --- a/bulletml/__init__.py +++ b/bulletml/__init__.py @@ -1,7 +1,48 @@ """BulletML parser. -http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html +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, Action +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"]