Hi everyone, I need a little help of understanding this code. It seems that this code works this way.
# Собери больше монет, чем двойник.
# У тебя есть лишь несколько секунд на сбор монет. Выбирай путь мудро!
while True:
bestCoin = None
maxRating = 0
coinIndex = 0
coins = hero.findItems()
# Попробуй рассчитать соотношение "ценность / расстояние", чтобы выбрать лучшую монету.
while coinIndex < len (coins):
coin = coins[coinIndex]
value = coin.value
distance = hero.distanceTo(coin)
coinIndex +=1
if value/distance > maxRating:
bestCoin = coin
maxRating = value/distance
if bestCoin:
hero.moveXY(bestCoin.pos.x, bestCoin.pos.y)
coinIndex +=1
But… When I try to put
if bestCoin:
hero.moveXY(bestCoin.pos.x, bestCoin.pos.y)
coinIndex +=1
inside of if value/distance > maxRating:
statement, it doesnt work. I am trying to understand why it works this way, not this way:
# Собери больше монет, чем двойник.
# У тебя есть лишь несколько секунд на сбор монет. Выбирай путь мудро!
while True:
bestCoin = None
maxRating = 0
coinIndex = 0
coins = hero.findItems()
# Попробуй рассчитать соотношение "ценность / расстояние", чтобы выбрать лучшую монету.
while coinIndex < len (coins):
coin = coins[coinIndex]
value = coin.value
distance = hero.distanceTo(coin)
coinIndex +=1
if value/distance > maxRating:
bestCoin = coin
maxRating = value/distance
if bestCoin:
hero.moveXY(bestCoin.pos.x, bestCoin.pos.y)
coinIndex +=1