bf_gold_find.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // package bf_gold_find -- бизнес-функция поиска золота
  2. package bf_gold_find
  3. import (
  4. "strconv"
  5. "strings"
  6. . "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
  7. . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
  8. . "wartank/app/lev0/types"
  9. )
  10. // ЗолотоНайти -- ищет золото бота
  11. func ЗолотоНайти(конт ILocalCtx) {
  12. ангар := конт.Get("ангар").Val().(ИАренаАнгар)
  13. var (
  14. lstAngar = ангар.СписПолучить()
  15. strOut string
  16. еслиНайдено bool
  17. )
  18. if len(lstAngar) == 0 {
  19. ангар.Обновить()
  20. lstAngar = ангар.СписПолучить()
  21. }
  22. for _, strGold := range lstAngar {
  23. if strings.Contains(strGold, `<img title="Золото" `) {
  24. strOut = strGold
  25. еслиНайдено = true
  26. break
  27. }
  28. }
  29. Hassert(еслиНайдено, "ЗолотоНайти(): не найдена строка золота")
  30. // Выделить топливо
  31. lstGold := strings.Split(strOut, `<img title="Золото" alt="Золото" src="/images/icons/gold.png?2"/> `)
  32. strGold := lstGold[1]
  33. iGold, err := strconv.Atoi(strGold)
  34. Hassert(err == nil, "ЗолотоНайти(): iGold(%v) не число, ош=%v", iGold, err)
  35. ангар.Золото().Уст(iGold)
  36. конт.Set("золото", iGold, "Золото бота")
  37. }