• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

David Pintassilgo

Problema com setAhead e outras questões básicas.

34 mensagens neste tópico

Questão inicial:

Fiz assim:

turnGunLeft(360);
setAhead(250);
turnGunRight(360);
setAhead(250);

Dá-me o seguinte erro:

Compiling...

----------

1. ERROR in /home/david/robocode/robots/dp/Pintassilgo1.java (at line 22)

    setAhead(250);

    ^^^^^^^^

The method setAhead(int) is undefined for the type Pintassilgo1

----------

2. ERROR in /home/david/robocode/robots/dp/Pintassilgo1.java (at line 24)

    setAhead(250);

    ^^^^^^^^

The method setAhead(int) is undefined for the type Pintassilgo1

----------

Compile Failed (255)

2 problems (2 errors)

IOException: java.io.IOException: Bad file descripto

O que é que tá mal?

_____________________________________________--

Questão 2:

Usar netbeans, sim/não? Como usar?

Qual a vantagem da class Robot em relação á AdvancedRobot?

É suposto perder energia ao bater numa parede?

Para onde é x Grau?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ops... esqueci-me de te dizer.

Os robots podem ser baseados em duas classes: Robot e AdvancedRobot, as funções set* só estão presentes na classe AdvancedRobot.

Assim rapidamente para isso funcionar só tens que mudar uma linha:

onde tens:

public class onomedoteurobot extends Robot

muda para:

public class onomedoteurobot extends AdvancedRobot

Já que cá estamos, estás a usar o editor que vem com isso? Uma vez que já tás ambientado com isto, vale a pena perder uma horita ( ou menos ) a configurar o netbeans ou o eclipse. Facilitam muito a vida.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Baril! já está a rullar! :D

Já que cá estamos, estás a usar o editor que vem com isso? Uma vez que já tás ambientado com isto, vale a pena perder uma horita ( ou menos ) a configurar o netbeans ou o eclipse. Facilitam muito a vida.

É pá,... isso não dá uma ganda trabalheira nem nada??? :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenho que tirar um bocadinho para isso. È mesmo MUUUUITO melhor? há diferenças significativas?

edit:

Onde é que arranjo um bot mesmo muita mau para ir testando o meu?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenho que tirar um bocadinho para isso. È mesmo MUUUUITO melhor? há diferenças significativas?

edit:

Onde é que arranjo um bot mesmo muita mau para ir testando o meu?

É!

Mesmo tipo noita para o dia. Experimenta que não te vais arrepender. Permite-te aprender muito mais, e com o javadoc, escusas de estar sempre a ir a internet ver o nome das funções e os seus parametros.

Quanto a bots mais inofensivos... tens uns dois ou tres nos exemplos, acho que se chamam:

target e sittingduck.

Podes tambem ir ao .java dos outros robots,comentar a linha que tem o fire() e compila-lo para teres um robot que nao dispara :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu queria era um robot mesmo MAU pá... é que os samples que lá veem são +- fraquinhos.

Queria um que fosse mesmo o RAMBO! :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu queria era um robot mesmo MAU pá... é que os samples que lá veem são +- fraquinhos.

Queria um que fosse mesmo o RAMBO! :(

Não percebi... queres um que seja muito complexo ou muito simples?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Que seja MAUZÃO!

(LOL,.. agora é que precebi bem que por escrito é claro que pensas-te que estava a falar de uma mau no sentido de fraquinho....)

MAU no sentido de ser o melhor,... o parte tudo! ser mauzão!

LOOOOL,.. é pá,... a voltar a re-re-ler o que "disse" até me fartei de rir.... só me apetece dizer'-me' "daaahhhh!!!"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qual é o maus "mau" deles todos? há algum favorito ou é tudo +- pro mesmo?

edit:

ena 'bem' !!  Saquei o TheoryOfEverything e levei cá um tareão!!! acho que este é "mauzão" o suficiente..... :( :-[ :);) ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qual é o maus "mau" deles todos? há algum favorito ou é tudo +- pro mesmo?

para dizer a verdade só experimentei uns dois, mas no geral são mesmo bots lixados de ganhar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, Robot e AdvancedRobot são duas classes diferentes, não classes de java que isso é lógico, mas é como a primeira liga e a segunda liga no futebol, ou lá como chamam às separações dos rapazinhos apaneleirados que dão pontapés na bola, sem ofença aos adeptos claro, piadas à parte, não deveriamos misturar os dois tipos em comabates, foi algo que me esqueci de colocar nas regras...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qual a vantagem da class Robot em relação á AdvancedRobot? Não havendo nenhuma para que serve?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um robot apenas faz uma acção de cada vez, isto é, as instruções são bloqueantes, se mandas mover para a esquerda não consegues executar mais nada enquanto o método que move o robot não terminar. No caso dos advanced é ligeiramente diferente, programas várias acções, isto é, dás várias informações ao robot e mandas executar quando quiseres. De uma forma simples, um advance pode estar a andar para um lado ao mesmo tempo virar o canhão, e disparar. Tens mais opções e métodos ligeiramente diferentes.

Consegues robot mais espertos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, isso ai foi o que o Pedro me tinha esplicado ontem, mas a minha questão é qual a vantagem do 1º metodo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se ao primeiro método te estás a referir a chamadas bloqueantes não existe vantagem, existe até desvantagem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Que eu saiba não, mas não tenho a certeza. Robot ou Advanced?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Advanced.

O meu bot quando está com pouca energia só dispara se estiver perto de forma a não perder pontos por falhar, e quando me acontece nessa altura andar 'fugido' do inimigo ando ás turras nas paredes e perco energia sem ser atingido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tirado da FAQ do Robocode, que pode ser acessivel em Help -> Robocode Faq.

Q: What happens when a my robot hits a wall?

A: Your robot's move is marked as complete, and some damage is taken if your robot is an AdvancedRobot:

  damage = Math.max(Math.abs(velocity) / 2 - 1, 0);  (measured in energy)

Tendo isto em conta, sim o teu robot vai perder energia quando acerta numa parede, se for Advanced claro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hum.... então é isso....

Já descobris-te então uma desvantagem do advanced em relação ao 'normal' :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hum... aquilo que eu e o pedrotuga te dissemos não te parece uma vantagem?

O simples facto de conseguires fazer chamadas não bloqueantes permite robot muito mais avançados, os eventos personalizaveis e toda a API que a classe AdvanceRobot te dá é uma vantagem :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que eu disse é que afinal há uma vantagem do 'normal' sobre o advanced

é pá,.. já agora,... com o robot a 0 graus o robot está virado para onde? Para a direita, certo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa percebi mal.

E não, 0 graus é para norte :D

            0º

            |

            |           

270º ----  ---- 90º

            |

            |

          180º

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora