package arena_bank import ( "log" "strings" . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes" . "wartank/app/lev0/types" "wartank/app/lev1" "wartank/app/lev2/arena" "wartank/app/lev2/arena/arena_bank/bank_mode" "wartank/app/lev2/arena/arena_bank/bf_bank_build" "wartank/app/lev2/arena/arena_bank/bf_bank_prod" "wartank/app/lev2/arena/arena_bank/bf_bank_take" "wartank/app/lev2/arena/arena_bank/bf_bank_upgrade" "wartank/app/lev2/arena/arena_bank/bf_bank_upgrade_fast" "wartank/app/lev2/arena/arena_build" ) /* Предоставляет объект банка на базе */ // Банк -- объект банка на базе type АренаБанк struct { ИАренаСтроение конт ILocalCtx сереброБот ИСтатПарам режим1 *bank_mode.BankMode // 1 режим работы на выбор режим2 *bank_mode.BankMode // 2 режим работы на выбор } // НовБанк -- возвращает новый арену банка func НовБанк(конт ILocalCtx) ИАренаБанк { сам := &АренаБанк{ конт: конт, сереброБот: lev1.НовСтатПарам("серебро бота"), режим1: bank_mode.NewBankMode(конт), режим2: bank_mode.NewBankMode(конт), } аренаКонфиг := arena.АренаКонфиг{ Конт_: конт, АренаИмя_: "Банк", СтрКонтроль_: `Серебро
`, СтрУрл_: "https://wartank.ru/production/Bank", } сам.ИАренаСтроение = arena_build.НовАренаСтроение(конт, аренаКонфиг) конт.Set("банк", сам, "Арена банка бота") return сам } func (сам *АренаБанк) Пуск() { сам.ИАренаСтроение.Пуск() bf_bank_build.БанкПостроить(сам.конт) bf_bank_upgrade.БанкАпгрейд(сам.конт) bf_bank_upgrade_fast.БанкАпгрейдБесплатно(сам.конт) bf_bank_take.БанкЗабрать(сам.конт) bf_bank_prod.СереброПроизводить(сам.конт) } // Проверяет необходимость постройки полигона func (сам *АренаБанк) построитьУлучшить() bool { var списБанк []string { // Зайти на страницу постройки // https://wartank.ru/building-upgrade/Bank списБанк = сам.Сеть().ВебВоркер().Получ("https://wartank.ru/building-upgrade/Bank") стрСсылка := "" еслиНайти := false // for _, стрСсылка = range списБанк { if strings.Contains(стрСсылка, `href="Bank?`) { еслиНайти = true break } } if !еслиНайти { // Время полигона вышло return false } _ссылка := strings.TrimPrefix(стрСсылка, ``) ссылка := "https://wartank.ru/building-upgrade/" + _ссылка // https://wartank.ru/building-upgrade/Bank?162-1.ILinkListener-upgradeLink-link списБанк = сам.Сеть().ВебВоркер().Получ(ссылка) } { // Заказать постройку // https://wartank.ru/building-upgrade/Bank стрСсылка := "" еслиНайти := false // for _, стрСсылка = range списБанк { if strings.Contains(стрСсылка, `href="Bank?`) { еслиНайти = true break } } if еслиНайти { // Время полигона вышло _ссылка := strings.TrimPrefix(стрСсылка, ``) ссылка := "https://wartank.ru/building-upgrade/" + _ссылка // https://wartank.ru/building-upgrade/Bank?162-1.ILinkListener-upgradeLink-link списБанк = сам.Сеть().ВебВоркер().Получ(ссылка) } } { // подтверждение постройки // да, подтверждаю стрСсылка := "" еслиНайти := false for _, стрСсылка = range списБанк { if strings.Contains(стрСсылка, `.ILinkListener-confirmLink`) { еслиНайти = true break } } if !еслиНайти { // Время полигона вышло return false } _ссылка := strings.TrimPrefix(стрСсылка, `да, подтверждаю") ссылка := "https://wartank.ru/" + _ссылка // https://wartank.ru/wicket/page?135-1.ILinkListener-confirmLink _ = сам.Сеть().ВебВоркер().Получ(ссылка) } log.Printf("Банк.построитьПровер(): построен успешно\n") return true } // РежимРаботы2 -- возвращает объект режима2 func (сам *АренаБанк) РежимРаботы2() ИБанкРежим { return сам.режим2 } // РежимРаботы1 -- возвращает объект режима1 func (сам *АренаБанк) РежимРаботы1() ИБанкРежим { return сам.режим1 } // СереброБот -- возвращает серебро от бота func (сам *АренаБанк) СереброБот() ИСтатПарам { return сам.сереброБот }