| 5 | return TrackFire() |
| 6 | |
| 7 | class TrackFire(bzrobot.AdvancedRobot): |
| 8 | |
| 9 | def run(self): |
| 10 | self.trackName = "" |
| 11 | while True: |
| 12 | try: |
| 13 | self.turnRight(10) |
| 14 | except Exception, e: |
| 15 | print e |
| 16 | |
| 17 | def onScannedRobot(self, scanevent): |
| 18 | try: |
| 19 | if(self.trackName == ""): |
| 20 | self.trackName = scanevent.getName() |
| 21 | elif(self.trackName != scanevent.getName()): |
| 22 | return |
| 23 | |
| 24 | self.turnRight(scanevent.getBearing()) |
| 25 | |
| 26 | if(scanevent.getDistance() > 30): |
| 27 | self.ahead(scanevent.getDistance() - 20) |
| 28 | return |
| 29 | elif(scanevent.getDistance() < 5): |
| 30 | self.back(20) |
| 31 | return |
| 32 | |
| 33 | self.fire() |
| 34 | except Exception, e: |
| 35 | print e |
| 36 | |
| 37 | def onRobotDeath(self, deathevent): |
| 38 | if(deathevent.getName() == self.trackName): |
| 39 | self.trackName = "" |
| 40 | |
| 41 | |