Browse Source

d03 Исправление косяка с топливом за бой

SVI 2 năm trước cách đây
mục cha
commit
2fb940890f
1 tập tin đã thay đổi với 13 bổ sung10 xóa
  1. 13 10
      server/serv_bots/warbot/angar/angar_attack/angar_attack.go

+ 13 - 10
server/serv_bots/warbot/angar/angar_attack/angar_attack.go

@@ -19,11 +19,11 @@ type ТопливоБой struct {
 	ангар types.ИАнгар
 }
 
-// НовТопливоБой -- возвращает новый *AngarAttackNet
+// НовТопливоБой -- возвращает новый *ТопливоБойNet
 func НовТопливоБой(angar types.ИАнгар) (*ТопливоБой, error) {
 	sectionNet, err := sectionnet.NewSectionNet(angar, "http://wartank.ru/battle")
 	if err != nil {
-		return nil, fmt.Errorf("NewAngarAttack(): in create SectionNet, err=\n\t%w", err)
+		return nil, fmt.Errorf("NewТопливоБой(): in create SectionNet, err=\n\t%w", err)
 	}
 	sf := &ТопливоБой{
 		SectionNet: sectionNet,
@@ -47,16 +47,16 @@ func (sf *ТопливоБой) пуск() {
 		log.Printf("Fuel.Run: val=%v\n", топливо)
 		списСтрБой, err := sf.начатьБой()
 		if err != nil {
-			// log._rintf("ERRO AngarAttack.findFuel(): in get page battle, err=\n\t%v\n", err)
+			// log._rintf("ERRO ТопливоБой.findFuel(): in get page battle, err=\n\t%v\n", err)
 			continue
 		}
 		списВыстрел1, err := sf.выбратьБойСлабый(списСтрБой)
 		if err != nil {
-			// log._rintf("ERRO AngarAttack.findFuel(): in get page shooting, err=\n\t%v\n", err)
+			// log._rintf("ERRO ТопливоБой.findFuel(): in get page shooting, err=\n\t%v\n", err)
 			continue
 		}
 		if err := sf.сделатьВыстрелы(списВыстрел1); err != nil {
-			log.Printf("ERRO AngarAttack.findFuel(): in make shooting, err=\n\t%v\n", err)
+			log.Printf("ERRO ТопливоБой.findFuel(): in make shooting, err=\n\t%v\n", err)
 		}
 	}
 
@@ -65,7 +65,7 @@ func (sf *ТопливоБой) пуск() {
 // Идёт в атаку, если топлива больше cons.ТопливоМин
 func (sf *ТопливоБой) начатьБой() (спискСтрБой []string, err error) {
 	// Получить ссылку на атаку
-	// _mt.Println("\t AngarAttack.makeAtack()")
+	// _mt.Println("\t ТопливоБой.начатьБой()")
 	lstAngar := sf.ангар.СписПолучить()
 	var стрАнализ string
 	for _, стрАтак := range lstAngar {
@@ -76,12 +76,15 @@ func (sf *ТопливоБой) начатьБой() (спискСтрБой []s
 	}
 	// Вырезать ссылку на атаку
 	lstAngar = strings.Split(стрАнализ, `<a class="simple-but border mb1" href="`)
+	if len(lstAngar) == 0 { // Не та страница
+		return nil, fmt.Errorf("ТопливоБой.начатьБой(): список строк для атаки пустой")
+	}
 	бойСсылка := lstAngar[1]
 	lstAngar = strings.Split(бойСсылка, `"><span><span>В бой!</span></span></a>`)
 	бойСсылка = "http://wartank.ru/" + lstAngar[0]
 	спискСтрБой, err = sf.Get(бойСсылка)
 	if err != nil {
-		return nil, fmt.Errorf("AngarAttack.makeAtack(): in make GET-request to battle, err=\n\t%w", err)
+		return nil, fmt.Errorf("ТопливоБой.начатьБой(): in make GET-request to battle, err=\n\t%w", err)
 	}
 	return спискСтрБой, nil
 }
@@ -138,7 +141,7 @@ func (sf *ТопливоБой) выбратьБойСлабый(списСтр
 	}
 	списСтрВыстрел1, err = sf.Get(ссылкаБой)
 	if err != nil {
-		return nil, fmt.Errorf("AngarAttack.makeSelectBattle(): in GET-response select battle tank, err=\n\t%w", err)
+		return nil, fmt.Errorf("ТопливоБой.makeSelectBattle(): in GET-response select battle tank, err=\n\t%w", err)
 	}
 	return списСтрВыстрел1, nil
 }
@@ -212,7 +215,7 @@ func (sf *ТопливоБой) сделатьВыстрелы(lstShoot2 []strin
 		}
 		списВыстрел3, err = sf.Get(linkShoot2)
 		if err != nil {
-			return fmt.Errorf("AngarAttack.makeShooting(): in Get-response shoot2, err=\n\t%w", err)
+			return fmt.Errorf("ТопливоБой.makeShooting(): in Get-response shoot2, err=\n\t%w", err)
 		}
 		fuel := sf.ангар.Топливо().Получ()
 		fuel -= 30
@@ -285,7 +288,7 @@ func (sf *ТопливоБой) сделатьВыстрелы(lstShoot2 []strin
 		}
 
 		if _, err = sf.Get(linkShoot3); err != nil {
-			return fmt.Errorf("AngarAttack.makeShooting(): in Get-response shoot3, err=\n\t%w", err)
+			return fmt.Errorf("ТопливоБой.makeShooting(): in Get-response shoot3, err=\n\t%w", err)
 		}
 		fuel := sf.ангар.Топливо().Получ()
 		fuel -= 30