# Note: this file was automatically converted to Python from the # original steve-language source code. Please see the original # file for more detailed comments and documentation. import breve from CaptureTheFlag import * class myCaptureTheFlagController( breve.CaptureTheFlagController ): def __init__( self ): breve.CaptureTheFlagController.__init__( self ) self.blueTeam = breve.objectList() self.redTeam = breve.objectList() myCaptureTheFlagController.init( self ) def init( self ): self.blueTeam = breve.createInstances( breve.myBluePlayer, 10 ).setTeam( 0 ) self.redTeam = breve.createInstances( breve.myRedPlayer, 10 ).setTeam( 1 ) breve.myCaptureTheFlagController = myCaptureTheFlagController class myBluePlayer( breve.CaptureTheFlagPlayer ): def __init__( self ): breve.CaptureTheFlagPlayer.__init__( self ) myBluePlayer.init( self ) def init( self ): print '''my id number is: ''', self.getIdNumber() def iterate( self ): jail = None flag = None angle = 0 self.setSpeed( 1 ) if self.hasFlag(): angle = self.getAngle( self.getMyHomeLocation() ) if ( angle > 0 ): self.turnRight() else: if ( angle < 0 ): self.turnLeft() breve.CaptureTheFlagPlayer.iterate( self ) return flag = self.senseOtherFlag() if flag: angle = self.getAngle( flag.getLocation() ) if ( angle > 0 ): self.turnRight() else: if ( angle < 0 ): self.turnLeft() breve.CaptureTheFlagPlayer.iterate( self ) return angle = self.getAngle( self.getOtherHomeLocation() ) if ( angle < 0 ): self.turnLeft() else: if ( angle > 0 ): self.turnRight() breve.CaptureTheFlagPlayer.iterate( self ) breve.myBluePlayer = myBluePlayer class myRedPlayer( breve.CaptureTheFlagPlayer ): def __init__( self ): breve.CaptureTheFlagPlayer.__init__( self ) myRedPlayer.init( self ) def init( self ): print '''my id number is: ''', self.getIdNumber() def iterate( self ): flag = None angle = 0 flag = self.senseMyFlag() if flag: angle = self.getAngle( flag.getLocation() ) if ( angle > 0 ): self.turnRight() else: if ( angle < 0 ): self.turnLeft() self.setSpeed( 0.300000 ) else: self.setSpeed( 1.000000 ) breve.CaptureTheFlagPlayer.iterate( self ) breve.myRedPlayer = myRedPlayer # Create an instance of our controller object to initialize the simulation myCaptureTheFlagController()