Урок 2 ( со стрельбой и прочими безобразиями ) .

Cначала сканируем пространство вокруг

Поворачиваем радар сразу на 20 градусов, так как сектор сканирования 20 град (+\-10) :
i=i + 20        ;счетчик
If i>360      ; если больше 360 градусов
   i=0        ; обнуляем
EndIf
ScanRadar(i)   ;сканируем
 

(Для отладки вращения радара используйте клавишу R, будет видно последнее положение радара в вашем ИИ).

Ищем врагов, используя переменную enemy

If enemy <> 0     ; если радар нашел врага (проверяем значения встроенных переменных)
  If target% = 0  ; если наша переменная цели равна 0
    target% = enemy   ; заносим врага в переменную цель
  EndIf
EndIf
 


Наводим орудие

If target <> 0                         ; если цель есть
  dist_t = EntityDistance ( corpus%, target ) ; определяем дистанцию
  ppr = dist_t# / 800                       ; определяем поправку на дальность
  TurnTurret = DeltaYaw ( turret, target )   ; поворачиваем орудие на цель
  If Abs ( TurnTurret ) < 10                ; если уже повернулось в сторону цели
    TurnGun = DeltaPitch ( gun, target ) - ppr ; поднимаем/опускаем ствол с учетом поправки
    If Abs ( TurnGun ) < 2                  ; если ствол наведен
      Fire1 = 1                          ; огонь !
    EndIf
  EndIf
 
  If rockets>0                          ; если есть ракеты
    If dist_t>500                       ; если дистанция больше 50 метров
      TurnCorpus = DeltaYaw ( corpus%, target ) ;поворачиваем бота на цель
    EndIf
  EndIf
 
  If dist_t < 600                         ;если дистанция меньше 60 м
    Fire2 = 1                             ; пускаем ракету
  EndIf
EndIf
 

Копируем код из первого урока, вставляем после кода второго урока.Запускаем. Все работает. Но вот кончились ракеты и снаряды, и бой прекратился.
В следующем уроке ищем бонусы.