Você está na página 1de 6

20/11/12

Robocode

Robocode - Eventos
sensanto conhecer todos os eventos para ter a mente mais aberta quando for comear a programar a inteligncia de seu rob. Os eventos so chamados quando acontece algo especfico no decorrer do combate. Alguns deles te enviam, por parmetro, dados do rob adversrio em questo para voc trabalhar com esses valores dentro do evento. Exemplo: se voc digitar "e.getBearing()" dentro de algum evento que contm na classe da varivel, enviada por parmetro, o mtodo "getBearing()" , como os tipos ScannedRobotEvent e HitRobotEvent, retornar o ngulo do rob inimigo em questo. Sendo que "e" o nome da varivel usada como parmetro, que pode ser qualquer outro. ndice Run onScannedRobot onWin onHitRobot onHitWall onHitByBullet onBulletHit onBulletMissed onBulletHitBullet onDeath onRobotDeath onSkippedTurn onCustomEvent

Run
executado quando o round for iniciado. Diferente do que muitos pensam, esse evento s ser chamado novamente quando iniciar outro round. Por isso muito comum e recomendado usar um loop infinito dentro dele, para que seu rob nunca fique parado quando no tiver sendo executado outro evento. Exemplo
pbi vi Rn){ ulc od u( d { o trRdret30; unaaLf(6) stha(0) eAed20; trRgt30; unih(0) }wietu) hl(re }

onScannedRobot
www.gsigma.uf sc.br/~popov /aulas/robocode/ev entos.html

20/11/12

Robocode

Executado quando o radar do seu rob encontra um adversrio. um dos eventos mais importantes, pois a nica forma de saber a energia, a distncia, o ngulo do seus inimigos para poder atira nele. A no ser se voc colidir com outro rob, que j seria um outro evento. Metodos da classe ScannedRobotEvent Comandos getName() getBearing() Tipo Retorno String double Descrio Retorno Retorna o nome scaneado. do rob adversrio

Retorna o ngulo do rob adversrio em relao ao seu rob ngulo em radianos do rob adversrio em relao ao seu. Retorna a distacia do rob adversrio em relao ao seu rob. Retorna a energia do rob adversrio. Retorna o ngulo em graus adversrio em relao a tela. Retorna o ngulo em radiaons adversrio em relao a tela. do do

getBearingRadians() double getDistance() getEnergy() getHeading() double double double

getHeadingRadians() double getVelocity() Exemplo double

Retorna a velocidade do rob scaneado.

pbi vi oSandoo(cneRbtvn Iiio { ulc od ncneRbtSandooEet nmg) dul agl =Iiiogtern(; obe nuo nmg.eBaig) dul dsaca=Iiiogtitne) obe itni nmg.eDsac(; i (dsaca<20){ f itni 0 trGnih(nuo; unuRgtagl) fr() ie2; } }

Observao: No confunda "getEnergy()" com "e.getEnergy()", pois o primeiro a energia de seu rob e o outro a energia do rob scaniado.

onWin
executado quando seu rob ganha o round. J que aqui o round terminou, aproveite para programar uma rizadinha, uma dancinha, malhando dos derrotados. Ou para ele parar de andar, evitando que bata na parede, perdendo energia. Exemplo
pbi vi oWnWnvn e { ulc od ni(iEet ) trRgt300; unih(60)
www.gsigma.uf sc.br/~popov /aulas/robocode/ev entos.html 2/6

20/11/12

Robocode

onHitRobot
executado quando seu rob bate em outro rob. Aproveite que voc est bem perto do inimigo, vire o canho para ele e mande um tiro de fora mxima, porque dificilmente errar. Mtodos da classe HitRobotEvent Comandos getName() getBearing() Tipo Retorno String double Descrio Retorno Retorna o colidido. nome do rob adversrio

ngulo em graus do rob adversrio em relao ao seu rob ngulo em radianos do rob adversrio em relao ao seu rob. Retorna a energia do rob adversrio. Retorna true se foi seu rob quem originou o evento, e false se foi o adversrio que bateu em seu rob.

getBearingRadians() double getEnergy() isMyFault() double boolean

Exemplo
pbi vi oHtoo(iRbtvn II { ulc od niRbtHtooEet N) trRgtIIgtern() unih(N.eBaig); fr() ie3; }

onHitWall executado quando seu rob colide com a parede. Quando seu rob bate na parede, perde energia. Ento o mnimo que voc deve fazer mudar a direo dele, seno ele vai ficar de encontro parede at perder toda a sua energia. Mtodos da classeHitWallEvent Comandos getBearing() Tipo Retorno double Descrio Retorno ngulo em graus da parede batida em relao ao seu rob. ngulo em radianos da parede batida em relao ao seu rob.

getBearingRadians() double

Exemplo
pbi vi oHtalHtalvn e { ulc od niWl(iWlEet )
www.gsigma.uf sc.br/~popov /aulas/robocode/ev entos.html 3/6

20/11/12

Robocode

trLf(8) unet10; }

onHitByBullet executado quando seu rob leva um tiro. Se a estratgia do seu rob ficar parado enquanto atira, bom utilizar esse evento para sair do local de onde acabou de levar um tiro, para voc no se tornar um alvo fcil. Mtodos da classe HitByBulletlEvent Comandos getName() getBearing() Tipo Retorno String double Descrio Retorno Retorna o nome do rob adversrio que te acertou um tiro. Retorna o ngulo do rob adversrio em relao ao seu rob. ngulo em radianos do rob adversrio em relao ao seu rob. Retorna o ngulo em graus do rob adversrio em relao a tela. ngulo em radiaons do rob adversrio em relao a tela. Retorna o Bullet (tiro) do rob adversrio que atingiu seu rob. Retorna a fora do tiro. Retorna a velocidade do tiro.

getBearingRadians() double getHeading() double

getHeadingRadians() double getBullet() getPower() getVelocity() Exemplo Bullet double double

pbi vi oHtyultHtyultvn e { ulc od niBBle(iBBleEet ) aed10; ha(0) }

onBulletHit executado quando seu tiro acerta um adversrio. Mtodos da classeBulletHitEvent Comandos Tipo Retorno Descrio Retorno Retorna o nome do rob adversrio que voc acertou um tiro. Retorna o Bullet (dados do tiro) de seu rob que atingiu o adversrio. Retorna a energia do rob adversrio aps levar o tiro.

getName() String getBullet() Bullet getEnergy() double

Exemplo
www.gsigma.uf sc.br/~popov /aulas/robocode/ev entos.html 4/6

20/11/12

Robocode

pbi vi oBleHtBleHtvn e { ulc od nulti(ultiEet ) Aets+ cro+; }

Esse evento e os outros abaixo so usados em programaes mais avanadas e complexas. onBulletMissed executado quando uma de suas balas colide com a parede(erra o tiro). Mtodos da classeBulletMissedEvent Comandos getBullet() Tipo Retorno Bullet Descrio Retorno Retorna o Bullet (dados do tiro), de seu rob, que bateu na parede.

Exemplo
pbi vi oBleMse(ultisdvn e { ulc od nultisdBleMseEet ) ERS+ RO+; }

onBulletHitBullet executado quando uma de suas balas colide com outra bala. Mtodos da classeBulletHitBulletEvent Comandos getBullet() Tipo Retorno Bullet Descrio Retorno Retorna o Bullet (dados do tiro) de seu rob. Retorna o Bullet do rob adversrio.

getHitBullet() Bullet

pbi vi oBleHtultBleHtultvn e { ulc od nultiBle(ultiBleEet ) }

onDeath executado se seu rob morrer. Exemplo


pbi vi oDahDahvn e { ulc od net(etEet ) Sse.u.rnl(eNm(+ mre!) ytmotpitngtae)" oru"; Sse.u.rnl(Qatdd d iiio anavv:"gttes); ytmotpitn"uniae e nmgs id io +eOhr() }

onRobotDeath executado quando morre um adversrio.

www.gsigma.uf sc.br/~popov /aulas/robocode/ev entos.html

5/6

20/11/12

Robocode

Mtodos da classeRobotDeathEvent Comandos getName() Exemplo


pbi vi oRbtet(ooDahvn e { ulc od nooDahRbtetEet ) i (oe= egtae) { f Nm = .eNm() Nm =nl; oe ul } }

Tipo Retorno String

Descrio Retorno Retorna o nome do rob que morreu.

onSkippedTurn Se voc estiver um longo tempo sem ao. Exemplo


pbi vi oSipdunSipdunvn e { ulc od nkpeTr(kpeTrEet ) trGnet30; unuLf(6) }

onCustomEvent Quando um uso de condio "addCustomEvent" satisfeita. Comandos Tipo Retorno Descrio Retorno Retorna a condio que gerou o evento.

getCondition() Condition Exemplo

pbi vi oCsoEetCsoEete { ulc od nutmvn(utmvn ) }

[voltar]

www.gsigma.uf sc.br/~popov /aulas/robocode/ev entos.html

6/6

Você também pode gostar