Цели:
Собери 100 золотых.
Руководство:
Защити фермера, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# Собери 100 золота с двух или трех рощ. # С каждой победой становится все сложнее и сложнее (но и вознаграждение больше) # Если проиграешь - будешь ждать сутки до следующей попытки # Запомни: местность меняется каждый раз. def attackenemy(): enemys=self.findEnemies() if self.distanceTo(self.findNearest(enemys)) < 30: IndexEnemys=0 besideEnemy=0 bigenemy=0 smallenemy=0 while IndexEnemys<len(enemys): if enemys[IndexEnemys].type!="sand-yak": if self.distanceTo(enemys[IndexEnemys])<10: besideEnemy +=1 if self.distanceTo(enemys[IndexEnemys])<30 and ((enemys[IndexEnemys]).health > bigenemy.health or bigenemy == 0): bigenemy = enemys[IndexEnemys] if self.distanceTo(enemys[IndexEnemys])<30 and ((enemys[IndexEnemys]).health < smallenemy.health or smallenemy == 0): smallenemy = enemys[IndexEnemys] IndexEnemys+=1 enemy = self.findNearest(enemys) if self.isReady("cleave") and besideEnemy>3: self.cleave() else if self.isReady("bash") and bigenemy.health>20: self.bash(bigenemy) else if smallenemy: self.attack(smallenemy) def pickUpCoin(): coins = self.findItems() coinItem=1 maxWeight = 0 MaxCoin =0 while coinItem<=len(coins): coin =coins[coinItem] if coin: if self.distanceTo(coins[coinItem])<50: weight = (coins[coinItem]).value/self.distanceTo(coins[coinItem]) if weight>maxWeight: maxWeight=weight MaxCoin = coins[coinItem] coinItem+=1 if MaxCoin!=0: self.moveXY(MaxCoin.pos.x, MaxCoin.pos.y) loop: enemy = self.findNearest(self.findEnemies()) if enemy: attackenemy() else: pickUpCoin() |
Комментарии: