Как зафиксировать угловую точность у робокода?

Я только начал играть в робокод, и я столкнулся с этой проблемой угла в моем первом проекте робота. Я придерживаюсь кода, чтобы стрелять по врагам поблизости;

public void onScannedRobot(ScannedRobotEvent e) {

    double radarAngle ; 
    double GunZeroAngle ;
    double difference ;
    radarAngle = getRadarHeading ();
    GunZeroAngle = getGunHeading () ;
    difference = radarAngle - GunZeroAngle  ;
    System.out.print("Target :" + radarAngle + "\nZero : "+ GunZeroAngle +" \nFark : "+ Diff + " \n "+ " *********************** "+ "\n" ); 

    if (fark != 0) {
        turnGunRight (fark) ;
        fire(1);

моя проблема в том, что когда враги слишком далеко, есть мертвые углы, которые мой пистолет не может так сильно ударить;

а вот углы, которые я написал робологу; Я предполагаю, что разница в углах меньше 1 градуса является проблемой. Но типовые роботы, такие как "углы", могут фокусироваться на цели под любым углом. Кто-нибудь может мне помочь???

1 ответ

Решение

Вы должны получить заголовок отсканированного робота из

ScannedRobotEvent

Затем поверните пистолет в этом направлении и стреляйте.

Другие вопросы по тегам