Esempio n. 1
0
    def __init__(self, name, passerNo, shooterNo):
        super(PassShoot, self).__init__(name)

        # 1 passerがボールに近づく
        FIRST = ParallelOne("FIRST")
        FIRST.add_child(
            Kick.SetPassTarget("Set pass target", passerNo, shooterNo))
        FIRST.add_child(Kick.Approach("Passer approach", passerNo))
        FIRST.add_child(BaseSkill.SuccessTimer("SuccessTimer1.0", 1.0))
        self.add_child(FIRST)

        # 2 shooterがshoot位置に移動する
        SECOND = ParallelOne("SECOND")
        SECOND.add_child(BaseSkill.WaitToReceive("Shooter wait", shooterNo))
        SECOND.add_child(
            Analyst.IsOnTarget("Shooter is on target", shooterNo, 0.5))
        SECOND.add_child(BaseSkill.SuccessTimer("SuccessTimer2.0", 3.0))
        self.add_child(SECOND)
        #
        # 3 passerがボールを蹴る
        THIRD = ParallelAll("THIRD")
        THIRD.add_child(
            Kick.SetPassTarget("Set pass target", passerNo, shooterNo))
        THIRD.add_child(Kick.Pass("PASS", passerNo))

        # 3 shooterが受け取りshootする
        THIRD.add_child(Kick.CalcuKickTarget("CalcuKickTarget", shooterNo))
        THIRD.add_child(Kick.ReceiveShoot("ReceiveShoot", shooterNo))
        THIRD.add_child(BaseSkill.FailureTimer("FailureTimer7.0", 10.0))
        INVERT = Invert("Invert")
        INVERT.add_child(Analyst.IsBaller("IsBaller", shooterNo, 1.0))
        THIRD.add_child(INVERT)
        self.add_child(THIRD)
Esempio n. 2
0
    def __init__(self, name, num1, num2):
        super(PassAndPass, self).__init__(name)

        wait1X, wait1Y, wait1Yaw = (-2.0, 2.0, -math.pi*0.5)
        wait2X, wait2Y, wait2Yaw = (-2.0, -2.0, math.pi*0.5)

        PLAYER1 = Sequence("player1")
        wait_ = ParallelOne("wait1")
        wait_.add_child(Analyst.BallEnteringQuadrant("ballEntering",2))
        wait_.add_child(BaseSkill.Stay("stay1", num1, wait1X, wait1Y, wait1Yaw))

        pass_ = ParallelOne("pass1")
        pass_.add_child(Kick.SetPassTarget("setTarget1",num1, num2))
        pass_.add_child(Kick.Pass("GoPassing1", num1))
        pass_.add_child(Analyst.BallEnteringQuadrant("ballEntering",3))

        PLAYER1.add_child(wait_)
        PLAYER1.add_child(pass_)
        PLAYER1.add_child(GoToPosition("goto1",num1,wait1X,wait1Y,wait1Yaw))
        
        self.add_child(PLAYER1)

        PLAYER2 = Sequence("player2")
        wait_ = ParallelOne("wait2")
        wait_.add_child(Analyst.BallEnteringQuadrant("ballEntering",3))
        wait_.add_child(BaseSkill.Stay("stay2", num2, wait2X, wait2Y, wait2Yaw))

        pass_ = ParallelOne("pass2")
        pass_.add_child(Kick.SetPassTarget("setTarget2",num2, num1))
        pass_.add_child(Kick.Pass("GoPassing2", num2))
        pass_.add_child(Analyst.BallEnteringQuadrant("ballEntering",2))

        PLAYER2.add_child(wait_)
        PLAYER2.add_child(pass_)
        PLAYER2.add_child(GoToPosition("goto2",num2,wait2X,wait2Y,wait2Yaw))
        
        self.add_child(PLAYER2)