Example #1
0
# -*- encoding: utf-8 -*-
from ai2.runtime.agent import *
from ai2.runtime.mode import is_complete


if not is_complete():
    ETABLE_NAME = "__exported__"

    def enable_register4export():
        import inspect
        local = inspect.currentframe().f_back.f_locals
        local[ETABLE_NAME] = exported = []
        def register4export(stuff):
            exported.append(stuff)
            return stuff
        local["register4export"] = register4export


    class RegisterMeta(type):
        def __new__(cls, name, bases, dct):
            del dct["register4export"]
            for b in bases:
                blist = getattr(b, ETABLE_NAME, [])
                dct[ETABLE_NAME] += blist
            return type.__new__(cls, name, bases, dct)

else:
    def enable_register4export():
        import inspect
        local = inspect.currentframe().f_back.f_locals
        def register4export(stuff):
Example #2
0
import functools
import math
import random
import logging

from ai2.runtime.action_agent import \
    ActionAgent, enable_register4export
from ai2.runtime.mode import is_complete

if is_complete():
    from PyQt5.QtCore import QPointF
    import game


class FakeTarget(object):
    def __init__(self, position):
        if isinstance(position, tuple):
            self.position = QPointF(position[0], position[1]) * game.UNIT
        else:
            self.position = position


class NodeState(object):
    pass


enable_register4export()


@register4export
class TankAgent(ActionAgent):
Example #3
0
# -*- encoding: utf-8 -*-
from ai2.runtime.agent import *
from ai2.runtime.mode import is_complete

if not is_complete():
    ETABLE_NAME = "__exported__"

    def enable_register4export():
        import inspect
        local = inspect.currentframe().f_back.f_locals
        local[ETABLE_NAME] = exported = []

        def register4export(stuff):
            exported.append(stuff)
            return stuff

        local["register4export"] = register4export

    class RegisterMeta(type):
        def __new__(cls, name, bases, dct):
            del dct["register4export"]
            for b in bases:
                blist = getattr(b, ETABLE_NAME, [])
                dct[ETABLE_NAME] += blist
            return type.__new__(cls, name, bases, dct)

else:

    def enable_register4export():
        import inspect
        local = inspect.currentframe().f_back.f_locals
Example #4
0
import functools
import math
import random
import logging

from ai2.runtime.action_agent import ActionAgent, enable_register4export
from ai2.runtime.mode import is_complete

if is_complete():
    from PyQt5.QtCore import QPointF
    import game


class FakeTarget(object):
    def __init__(self, position):
        if isinstance(position, tuple):
            self.position = QPointF(position[0], position[1]) * game.UNIT
        else:
            self.position = position


class NodeState(object):
    pass


enable_register4export()


@register4export
class TankAgent(ActionAgent):
    logger = logging.getLogger("TankAgent")