X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml%2F__init__.py;h=c31dce7640a84f27245e987beeeb6e87e9906f4e;hp=4643d0089a4ad47d771a062f16eb0efef03b91b3;hb=bf5ff1d116840e1330c80894132919ec515596e4;hpb=cbf6542a1876a86e4f75c96bad92f653ed924618 diff --git a/bulletml/__init__.py b/bulletml/__init__.py index 4643d00..c31dce7 100644 --- a/bulletml/__init__.py +++ b/bulletml/__init__.py @@ -1,7 +1,46 @@ """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. + +In addition to the standard BulletML XML format, this module supports +an equivalent YAML format. See bulletml.bulletyaml for more details. + +Finally, 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-bullet homepage, http://code.google.com/p/python-bulletml/. + +Basic Usage: + + from bulletml import Bullet, BulletML + doc = Bulletml.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()) + ... + +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 + +VERSION = (1,) +VERSION_STRING = ".".join(map(str, VERSION)) + +__all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML", + "overlaps", "collides"] +