| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // package arena_duel -- арена дуэли за топливо
- package arena_duel
- import (
- "time"
- . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
- . "wartank/app/lev0/types"
- "wartank/app/lev2/arena"
- )
- // АренаДуэль -- арена дуэли за топливо
- type АренаДуэль struct {
- ИАрена
- бот ИБот
- клиент ИХттпВоркер
- }
- // НовСражение -- возвращает новую арену дуэли
- func НовАренаДуэль(конт ILocalCtx, бот ИБот) *АренаДуэль {
- сам := &АренаДуэль{
- бот: бот,
- клиент: бот.Сеть().ВебВоркер(),
- }
- аренаКонфиг := arena.АренаКонфиг{
- Бот_: бот,
- АренаИмя_: "Арена дуэли",
- СтрКонтроль_: "<span>до начала ",
- ФнПуск_: сам.пуск,
- СтрУрл_: "https://wartank.ru/battle",
- }
- сам.ИАрена = arena.НовАрена(конт, аренаКонфиг)
- // сам.shotTimeFull.Set(8000) // 8000 msec
- return сам
- }
- func (сам *АренаДуэль) Пуск() {
- go сам.пуск()
- }
- // запускает в работу дуэль
- func (сам *АренаДуэль) пуск() {
- for {
- select {
- case <-сам.бот.КонтБот().Ctx().Done():
- return
- default:
- time.Sleep(time.Second * 2) // Пауза между циклами, чтобы сервер не долбить запросами
- }
- }
- }
|