LordFabricio / RoboCode

1 stars 0 forks source link

Estratégia do 1° Robô #9

Closed PauloHartwig closed 6 years ago

PauloHartwig commented 6 years ago

A ideia desta issue, é que os engenheiros (3° semestre) elaborassem uma estratégia para o nosso primeiro robô a ser desenvolvido.

Este 1° robô iria ser desenvolvido em conjunto pelos dois programadores (1° semestre) da equipe começando na aula do Angelo dia 14/06.

E futuramente criaremos outras duas issues neste modelo para definir as estratégias dos outros dois robôs que faltam. Mas estes outros dois, cada programador irá fazer separado, para fechar três robôs por equipe.

Atividades:

Se alguém do 1° tiver qualquer dúvida sobre a estratégia coloquem um comentário ai que a gente tenta ajudar.

PauloHartwig commented 6 years ago

Conforme combinado com o @LordFabricio na discussão de quarta (13/06), fizemos a seguinte estratégia:

PDF: Ações - 1° Robô.pdf

Imagem:

image

LordFabricio commented 6 years ago

Inicia parado - Primeiro tiro - Fraco Atirando Parado

Acertou tiro Fraco - Segundo tiro - Forte - Continua Parado Atirando Parado

Errou Tiro Fraco - Mover - Direita Acertou tiro Fraco - Segundo tiro - Forte - Continua Parado Atirando Parado

Inicia Tiro Fraco novamente. Atirando Parado

Acertando Tiro Fraco - Use o Tiro Forte Enquanto Acertar Atirando Parado

Errou Tiro Forte - Move - Esquerda Atirando Parado

Volta tiro Fraco Atirando Parado

Bem pelo menos ninguém pode dizer que nos não desenhamos.

PauloHartwig commented 6 years ago

É essa a ideia, o robô fica parado sempre a não ser que ele erre o tiro ou receba dano.

eduardoxRib commented 6 years ago

Primeira versão do robô 1! (Atualização rápida) Obteve bons resultados com os robôs mais simples como o fire, mas contra Walls, Tracker e SpinBot não teve bons números. Positivos: Bom contra robôs que não se movem muito. Bom contra robôs que ficam em movimento em loop. Negativos: Péssimo contra robôs que se movimentam constantemente. Solução: Melhorar a precisão/ângulo do disparo. (Se alguém souber alguma maneira para isso, prever movimento do inimigo, calcular velocidade etc)

Vou colocar o código em texto para testes (e amanhã ver como funciona colocar a versão por aqui):

package Robos; import robocode.*;

public class Robo1 extends Robot { boolean tiro_ac = false; boolean tiro_missed = false; public void run() {

    while(true) {
        if (tiro_missed == true) {
        turnLeft(80);
        ahead(40);
        tiro_missed = false;
        }
        turnGunRight(360);
    }
}

public void onScannedRobot(ScannedRobotEvent e) {
    if (tiro_ac == true) {
    fire(3);
    tiro_ac = false;
    } else
    fire(1);
}

public void onHitByBullet(HitByBulletEvent e) {
    back(40);
    turnLeft(80);
    ahead(40);
}

public void onHitWall(HitWallEvent e) {
    back(40);
    turnLeft(80);
    ahead(40);
}

public void onBulletHit(BulletHitEvent event) {
    tiro_ac = true;
}

public void onBulletMissed(BulletMissedEvent event) {
    tiro_missed = true;
}

}

PauloHartwig commented 6 years ago

Adicionei esse robô ao projeto e já atualizei. Quando tu for baixar do git e abrir no NetBeans, tem que adicionar a biblioteca do Robocode ao projeto. Tem um tutorial ensinando a fazer isso na aba Wiki que o @LordFabricio fez.

eduardoxRib commented 6 years ago

Ótimo, vou fazer isso hoje

Em sex, 15 de jun de 2018 09:52, Paulo H. Hartwig Jr. < notifications@github.com> escreveu:

Adicionei esse robô ao projeto e já atualizei. Quando tu for baixar do git e abrir no NetBeans, tem que adicionar a biblioteca do Robocode ao projeto. Tem um tutorial ensinando a fazer isso na aba Wiki que o @LordFabricio https://github.com/LordFabricio fez.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LordFabricio/RoboCode/issues/9#issuecomment-397610932, or mute the thread https://github.com/notifications/unsubscribe-auth/AmaVmZ9mGI_e0ui_Jm0bgN_tBKFxM_UPks5t864QgaJpZM4Umjhc .

LordFabricio commented 6 years ago

Blz!!! Eduardo.

https://github.com/LordFabricio/RoboCode/invitations

Aceita o convite pro projeto do github Vou ficar meio de molho esse fim de semana to com um projeto do Ângelo muito tenso pra fazer. Mesmo assim quero analisa o código que tu fez neste domingo, e se possível junto com o paulo gerar a estrategia do robo 2, ou implementa algo neste que tu já inicio.

Em 15 de junho de 2018 10:37, eduardoxRib notifications@github.com escreveu:

Ótimo, vou fazer isso hoje

Em sex, 15 de jun de 2018 09:52, Paulo H. Hartwig Jr. < notifications@github.com> escreveu:

Adicionei esse robô ao projeto e já atualizei. Quando tu for baixar do git e abrir no NetBeans, tem que adicionar a biblioteca do Robocode ao projeto. Tem um tutorial ensinando a fazer isso na aba Wiki que o @LordFabricio https://github.com/LordFabricio fez.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LordFabricio/RoboCode/issues/ 9#issuecomment-397610932, or mute the thread https://github.com/notifications/unsubscribe- auth/AmaVmZ9mGI_e0ui_Jm0bgN_tBKFxM_UPks5t864QgaJpZM4Umjhc

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/LordFabricio/RoboCode/issues/9#issuecomment-397622546, or mute the thread https://github.com/notifications/unsubscribe-auth/AbTgojZcYnwkCGPfXhHSoyXZrnWGPrglks5t87iTgaJpZM4Umjhc .

eduardoxRib commented 6 years ago

Tudo bem, amanhã quero melhorar a precisão do robo1 então provavelmente ainda haverá modificações. O que quero fazer é girar o radar e só depois colocar o canhão em direção ao inimigo, atualmente está dando voltas em loop extremamente desnecessárias e perdendo tempo nisso. Ok, qualquer coisa só chamar

eduardoxRib commented 6 years ago

Modifiquei o Robo1! Fiz algumas alterações nas táticas e deu uma melhora significativa, em uma simulação 1x1 contra o SpinBot ganho 7 de 10 (enquanto antes ganhava 1 no máximo). Algumas táticas foram modificadas, ele não fica se movendo se leva um tiro. Só se move se bater na parede. Se errar mais que 2 tiros ele se direciona ao inimigo e chega mais perto em 30 pixels de distância, se a distância for menor ou igual a 30, ele atira em potência máxima! Só precisamos modificar a estratégia no PDF para depois não dar problemas, deixei o código quase todo comentado mas ainda vou melhorar nesse quesito. Qualquer coisa só chamar, abraço!

PauloHartwig commented 6 years ago

Vou ajustar a estratégia e anexá-la aqui quando terminar. Vou criar uma pasta no projeto chamada Documentacao e adicionar os documentos pra eles não ficarem só nas issues e a gente tem que estar catando eles se formos apresentar. Ai se quiser enviar alguma coisa com o push vai ter que dar um pull primeiro pra atualizar.

eduardoxRib commented 6 years ago

Estou reajustando umas coisas pra buscar a máxima taxa de vitórias mas tentando manter a estratégia proposta, já vou mandar os ajustes gerais

2018-06-19 13:50 GMT-03:00 Paulo H. Hartwig Jr. notifications@github.com:

Vou ajustar a estratégia e anexá-la quando terminar.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LordFabricio/RoboCode/issues/9#issuecomment-398468493, or mute the thread https://github.com/notifications/unsubscribe-auth/AmaVmYK6h8zeDEo2G0H6vlT4ZaLyrWBCks5t-SvOgaJpZM4Umjhc .

eduardoxRib commented 6 years ago

Mandando o código inteiro explicado: (Não consigo colocar no git agora, assim que chegar em casa, atualizo)

Em 19 de junho de 2018 15:30, Eduardo Rib eduardoxrib@gmail.com escreveu:

Estou reajustando umas coisas pra buscar a máxima taxa de vitórias mas tentando manter a estratégia proposta, já vou mandar os ajustes gerais

2018-06-19 13:50 GMT-03:00 Paulo H. Hartwig Jr. notifications@github.com :

Vou ajustar a estratégia e anexá-la quando terminar.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LordFabricio/RoboCode/issues/9#issuecomment-398468493, or mute the thread https://github.com/notifications/unsubscribe-auth/AmaVmYK6h8zeDEo2G0H6vlT4ZaLyrWBCks5t-SvOgaJpZM4Umjhc .

PauloHartwig commented 6 years ago

A estratégia do 1° robô pode ser encontrada na Wiki do projeto.