Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Batalhando e Aprendendo com Robocode Conheça a ti e ao teu inimigo. - Zun Tzu
Agenda <ul><li>Objetivo </li></ul><ul><li>Ensino de Linguagens </li></ul><ul><li>Robôs em Java </li></ul><ul><li>Robocode ...
Objetivo <ul><li>Diversão e Embasamento em Programação OO </li></ul><ul><li>Ferramenta que facilita o aprendizado do parad...
O Ensino de Linguagens Pneus e Tartarugas
Ensino de Linguagens <ul><li>No início era como trocar um pneu: </li></ul><ul><ul><li>Abre a porta </li></ul></ul><ul><ul>...
Ensino de Linguagens <ul><li>LOGO: A linguagem da tartaruguinha </li></ul><ul><ul><li>Com uma tartaruga controlada por um ...
Ensino de Linguagens <ul><li>Robocode: </li></ul><ul><ul><li>Através de resultados visuais, é possível observar as seguint...
Robôs em Java Robôs de verdade mesmo, não virtuais :-)
LeJOS: Java em Lego <ul><li>Projeto Open-Source que possibilitou uso de Java em controladores RCX. </li></ul>
Tommy <ul><li>Participou do DARPA Grand Challenge 2005 </li></ul><ul><li>Usa a tecnologia PRI-MAX que é desenvolvida total...
Java onde nenhuma outra chegou <ul><li>Spirit e Opportunity </li></ul><ul><li>Robôs que estão atualmente em Marte possuem ...
Robocode Que comecem os jogos!
Robocode: Uma História <ul><li>Desenvolvido pela alphaWorks por Mathew Nelson. Iniciado em Setembro/2000. </li></ul><ul><l...
Objetivos <ul><li>Prova da performance de Java para o desenvolvimento de jogos. </li></ul><ul><li>Ambiente de aprendizado ...
O Campo de Batalha
Heading
Motor do Robocode
Robocode Conceitos Básicos
A Anatomia de um Robô
A Anatomia de um Robô <ul><li>Veiculo </li></ul><ul><ul><li>Provê movimento e rotação ao robô </li></ul></ul><ul><li>Canhã...
Restrições do Robô <ul><li>Energia </li></ul><ul><ul><li>Utilizado nas operações do robô </li></ul></ul><ul><ul><li>No dis...
Comandos do Robô <ul><li>turnRight(double degree), turnLeft(double degree) </li></ul><ul><ul><li>vira o robô. </li></ul></...
Ajustes de movimento do Robô <ul><li>setAdjustGunForRobotTurn(boolean flag) </li></ul><ul><ul><li>se verdadeiro, vira o ca...
Eventos <ul><li>onScannedRobot(ScannedRobotEvent) </li></ul><ul><ul><li>método chamado quando um robô foi detectado pelo r...
Obtendo Informações <ul><li>getX(), getY() </li></ul><ul><ul><li>coordenada corrente do robô  </li></ul></ul><ul><li>getHe...
Meu Primeiro Robô :-) <ul><li>import robocode.*; </li></ul><ul><li>public class Asimov extends  Robot  { </li></ul><ul><ul...
Demonstração Programando o Asimov
Robôs Avançados Barba, bigode e cabelo ao mesmo tempo
Robôs Avançados <ul><li>Enquanto um robô comum faz apenas uma coisa de cada vez, no robô avançado você primeiro define as ...
Blocking vs. Non-Blocking <ul><li>turnRight() </li></ul><ul><li>turnLeft() </li></ul><ul><li>turnGunRight() </li></ul><ul>...
Meu Segundo Robô :-O <ul><li>import robocode.*; </li></ul><ul><li>public class Asimov2 extends  AdvancedRobot  { </li></ul...
Demonstração Programando o Asimov Avançado
Equipes Tropa!!! Atacar!!!
TeamBot e Droid <ul><li>Existe a possibilidade de criar um time onde você possui um Robô líder que envia comandos aos robô...
Demonstração MyFirstTeam e MyFirstDroid
A Nossa Batalha Mãos a obra!!!
Pontuação <ul><li>Survival: 50 pontos toda vez que um inimigo morre. </li></ul><ul><li>Survival bonus: 10 vezes o número d...
Regras do Jogo <ul><li>Tipo de competição: Melee </li></ul><ul><li>Número de rounds: 7 </li></ul><ul><li>Tipo de Robô: Com...
Links <ul><li>Robocode Central: </li></ul><ul><ul><li>http://robocode.sourceforge.net </li></ul></ul><ul><li>Robocode Repo...
Prochain SlideShare
Chargement dans…5
×

Batalhas com Robocode

7 710 vues

Publié le

Publié dans : Technologie
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Prova da performance de java para o desenvolvimento de jogos. https://www.youtube.com/watch?v=Q1tVzEs9zoM
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

Batalhas com Robocode

  1. 1. Batalhando e Aprendendo com Robocode Conheça a ti e ao teu inimigo. - Zun Tzu
  2. 2. Agenda <ul><li>Objetivo </li></ul><ul><li>Ensino de Linguagens </li></ul><ul><li>Robôs em Java </li></ul><ul><li>Robocode </li></ul><ul><ul><li>Histórico </li></ul></ul><ul><ul><li>Conceitos Básicos </li></ul></ul><ul><ul><li>Robôs </li></ul></ul><ul><ul><li>Robôs Avançados </li></ul></ul><ul><ul><li>Times </li></ul></ul><ul><li>Batalha entre os presentes </li></ul>
  3. 3. Objetivo <ul><li>Diversão e Embasamento em Programação OO </li></ul><ul><li>Ferramenta que facilita o aprendizado do paradigma Orientado a Objetos </li></ul>
  4. 4. O Ensino de Linguagens Pneus e Tartarugas
  5. 5. Ensino de Linguagens <ul><li>No início era como trocar um pneu: </li></ul><ul><ul><li>Abre a porta </li></ul></ul><ul><ul><li>Acha o pneu furado </li></ul></ul><ul><ul><li>Pega o macaco </li></ul></ul><ul><ul><li>Levanta o carro </li></ul></ul><ul><ul><li>Retira pneu </li></ul></ul><ul><ul><li>Pega estepe </li></ul></ul><ul><ul><li>Põe estepe </li></ul></ul><ul><ul><li>Baixa o carro </li></ul></ul>
  6. 6. Ensino de Linguagens <ul><li>LOGO: A linguagem da tartaruguinha </li></ul><ul><ul><li>Com uma tartaruga controlada por um pequeno algoritmo, era possível observar na tela o resultado da programação. </li></ul></ul><ul><li>to spiral :size </li></ul><ul><ul><li>if :size > 30 [stop] </li></ul></ul><ul><ul><li>fd :size rt 15 </li></ul></ul><ul><ul><li>spiral :size * 1.02 </li></ul></ul><ul><li>end </li></ul><ul><li>spiral 10 </li></ul>
  7. 7. Ensino de Linguagens <ul><li>Robocode: </li></ul><ul><ul><li>Através de resultados visuais, é possível observar as seguintes características da OO: </li></ul></ul><ul><ul><ul><li>Classes </li></ul></ul></ul><ul><ul><ul><li>Instância de classe </li></ul></ul></ul><ul><ul><ul><li>Eventos </li></ul></ul></ul><ul><ul><ul><li>Sobre-escrita </li></ul></ul></ul><ul><ul><ul><li>Envio de mensagens </li></ul></ul></ul><ul><ul><li>Pode-se inclusive utilizar de I.A. </li></ul></ul>
  8. 8. Robôs em Java Robôs de verdade mesmo, não virtuais :-)
  9. 9. LeJOS: Java em Lego <ul><li>Projeto Open-Source que possibilitou uso de Java em controladores RCX. </li></ul>
  10. 10. Tommy <ul><li>Participou do DARPA Grand Challenge 2005 </li></ul><ul><li>Usa a tecnologia PRI-MAX que é desenvolvida totalmente em Java pela Perrone Robotics. </li></ul>
  11. 11. Java onde nenhuma outra chegou <ul><li>Spirit e Opportunity </li></ul><ul><li>Robôs que estão atualmente em Marte possuem JVM's embutidas com Real Time Java. </li></ul>
  12. 12. Robocode Que comecem os jogos!
  13. 13. Robocode: Uma História <ul><li>Desenvolvido pela alphaWorks por Mathew Nelson. Iniciado em Setembro/2000. </li></ul><ul><li>Atualmente é um projeto hospedado no SourceForge. </li></ul>
  14. 14. Objetivos <ul><li>Prova da performance de Java para o desenvolvimento de jogos. </li></ul><ul><li>Ambiente de aprendizado das seguintes tecnologias: </li></ul><ul><ul><li>Orientação à Objetos </li></ul></ul><ul><ul><li>Inteligência Artificial </li></ul></ul><ul><ul><li>Java </li></ul></ul><ul><li>Aprender OO torna-se divertido e desafiante. </li></ul>
  15. 15. O Campo de Batalha
  16. 16. Heading
  17. 17. Motor do Robocode
  18. 18. Robocode Conceitos Básicos
  19. 19. A Anatomia de um Robô
  20. 20. A Anatomia de um Robô <ul><li>Veiculo </li></ul><ul><ul><li>Provê movimento e rotação ao robô </li></ul></ul><ul><li>Canhão </li></ul><ul><ul><li>Serve para dar tiros nos outros robôs (dããã) </li></ul></ul><ul><li>Radar </li></ul><ul><ul><li>Utilizado para localizar demais robôs na arena </li></ul></ul><ul><ul><li>Movimenta-se em conjunto com o canhão ou independentemente. </li></ul></ul>
  21. 21. Restrições do Robô <ul><li>Energia </li></ul><ul><ul><li>Utilizado nas operações do robô </li></ul></ul><ul><ul><li>No disparo, pode-se ser definido a quantidade de energia utilizada </li></ul></ul><ul><ul><li>É recuperada quando acerta-se outro robô </li></ul></ul><ul><li>Calor </li></ul><ul><ul><li>Um canhão só dispara quando o seu calor estiver em zero. O calor gerado é proporcional a potência do disparo. </li></ul></ul>
  22. 22. Comandos do Robô <ul><li>turnRight(double degree), turnLeft(double degree) </li></ul><ul><ul><li>vira o robô. </li></ul></ul><ul><li>ahead(double distance), back(double distance) </li></ul><ul><ul><li>move o robô; é finalizado caso bata numa parede. </li></ul></ul><ul><li>turnGunRight(double degree), turnGunLeft(double degree) </li></ul><ul><ul><li>vira o canhão independente do veiculo. </li></ul></ul>
  23. 23. Ajustes de movimento do Robô <ul><li>setAdjustGunForRobotTurn(boolean flag) </li></ul><ul><ul><li>se verdadeiro, vira o canhão junto com o veículo </li></ul></ul><ul><li>setAdjustRadarForRobotTurn(boolean flag) </li></ul><ul><ul><li>se verdadeiro, vira o radar junto com o veículo. </li></ul></ul><ul><li>setAdjustRadarForGunTurn(boolean flag) </li></ul><ul><ul><li>se verdadeira, vira o radar junto com o canhão. </li></ul></ul>
  24. 24. Eventos <ul><li>onScannedRobot(ScannedRobotEvent) </li></ul><ul><ul><li>método chamado quando um robô foi detectado pelo radar. </li></ul></ul><ul><li>onHitByBullet(HitByBulletEvent) </li></ul><ul><ul><li>chamado quando atingido por uma bala. </li></ul></ul><ul><li>onHitRobot(HitRobotEvent) </li></ul><ul><ul><li>chamado quando seu robô esbarram em outro. </li></ul></ul><ul><li>onHitWall(HitWallEvent) </li></ul><ul><ul><li>chamado quando atinge uma parede. </li></ul></ul>
  25. 25. Obtendo Informações <ul><li>getX(), getY() </li></ul><ul><ul><li>coordenada corrente do robô </li></ul></ul><ul><li>getHeading(), getGunHeading(), getRadarHeading() </li></ul><ul><ul><li>direção corrente </li></ul></ul><ul><li>getBattleFieldWidth() and getBattleFieldHeight() </li></ul><ul><ul><li>dimensão do campo de batalha. </li></ul></ul>
  26. 26. Meu Primeiro Robô :-) <ul><li>import robocode.*; </li></ul><ul><li>public class Asimov extends Robot { </li></ul><ul><ul><li>public void run() {// implementa Runnable! </li></ul></ul><ul><ul><ul><li>while (true) { </li></ul></ul></ul><ul><ul><ul><ul><li>this.ahead(100); </li></ul></ul></ul></ul><ul><ul><ul><ul><li>this.turnRight(90); </li></ul></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul><ul><ul><li>} </li></ul></ul><ul><li>} </li></ul>
  27. 27. Demonstração Programando o Asimov
  28. 28. Robôs Avançados Barba, bigode e cabelo ao mesmo tempo
  29. 29. Robôs Avançados <ul><li>Enquanto um robô comum faz apenas uma coisa de cada vez, no robô avançado você primeiro define as ações e depois pede para que sejam executadas. </li></ul><ul><li>Características: </li></ul><ul><ul><li>Múltiplos movimentos simultaneamente. </li></ul></ul><ul><ul><li>Pode ser definida toda uma estratégia a cada tique do relógio. </li></ul></ul><ul><ul><li>Pode ser definidos eventos customizados. </li></ul></ul><ul><ul><li>Pode ter arquivos de dados. </li></ul></ul>
  30. 30. Blocking vs. Non-Blocking <ul><li>turnRight() </li></ul><ul><li>turnLeft() </li></ul><ul><li>turnGunRight() </li></ul><ul><li>turnGunLeft() </li></ul><ul><li>turnRadarRight() </li></ul><ul><li>turnRadarLeft() </li></ul><ul><li>ahead() </li></ul><ul><li>back() </li></ul><ul><li>setTurnRight() </li></ul><ul><li>setTurnLeft() </li></ul><ul><li>setTurnGunRight() </li></ul><ul><li>setTurnGunLeft() </li></ul><ul><li>setTurnRadarRight() </li></ul><ul><li>setTurnRadarLeft() </li></ul><ul><li>setAhead() </li></ul><ul><li>setBack() </li></ul>
  31. 31. Meu Segundo Robô :-O <ul><li>import robocode.*; </li></ul><ul><li>public class Asimov2 extends AdvancedRobot { </li></ul><ul><ul><li>public void run() { </li></ul></ul><ul><ul><ul><li>while (true) { </li></ul></ul></ul><ul><ul><ul><ul><li>setAhead(100); </li></ul></ul></ul></ul><ul><ul><ul><ul><li>setTurnRight(90); </li></ul></ul></ul></ul><ul><ul><ul><ul><li>execute() ; </li></ul></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul><ul><ul><li>} </li></ul></ul><ul><li>} </li></ul>
  32. 32. Demonstração Programando o Asimov Avançado
  33. 33. Equipes Tropa!!! Atacar!!!
  34. 34. TeamBot e Droid <ul><li>Existe a possibilidade de criar um time onde você possui um Robô líder que envia comandos aos robôs Droids. </li></ul><ul><li>Método no líder: </li></ul><ul><ul><li>broadcastMessage(Serializable msg) </li></ul></ul><ul><li>Método nos droids: </li></ul><ul><ul><li>onMessageReceived(MessageEvent event) </li></ul></ul>
  35. 35. Demonstração MyFirstTeam e MyFirstDroid
  36. 36. A Nossa Batalha Mãos a obra!!!
  37. 37. Pontuação <ul><li>Survival: 50 pontos toda vez que um inimigo morre. </li></ul><ul><li>Survival bonus: 10 vezes o número de inimigos. </li></ul><ul><li>Bullet damage: 1 ponto por ponto de dano no inimigo. </li></ul><ul><li>Bullet bonus: 20% do dano causado a um inimigo se for você quem o matou. </li></ul><ul><li>Ram damage: 2 pontos por ponto de dano ao inimigo numa colisão. </li></ul><ul><li>Ram bonus: 30% do dano. </li></ul>
  38. 38. Regras do Jogo <ul><li>Tipo de competição: Melee </li></ul><ul><li>Número de rounds: 7 </li></ul><ul><li>Tipo de Robô: Comum ou Avançado </li></ul><ul><li>Tamanho do Robô: MegaBot (sem limite) </li></ul>
  39. 39. Links <ul><li>Robocode Central: </li></ul><ul><ul><li>http://robocode.sourceforge.net </li></ul></ul><ul><li>Robocode Repository </li></ul><ul><ul><li>http://robocoderepository.com </li></ul></ul><ul><li>RoboWiki </li></ul><ul><ul><li>http://robowiki.net </li></ul></ul>

×