Robocode
Robocode
Conheça a ti e ao teu inimigo. - Zun Tzu
Agenda
●
Objetivo
●
Ensino de Linguagens
●
Robôs em Java
●
Robocode
●
–
Histórico
–
Conceitos Básicos
–
Robôs
–
Robôs Avançados
–
Times
Batalha entre os presentes
Objetivo
●
●
Diversão e Embasamento em Programação
OO
Ferramenta que facilita o aprendizado do paradigma Orientado a Objetos
O Ensino de Linguagens
Pneus e Tartarugas
Ensino de Linguagens
●
No início era como trocar um pneu:
–
Abre a porta
–
Acha o pneu furado
–
Pega o macaco
–
Levanta o carro
–
Retira pneu
–
Pega estepe
–
Põe estepe
–
Baixa o carro
Ensino de Linguagens
●
LOGO: A linguagem da tartaruguinha
–
Com uma tartaruga controlada por um pequeno algoritmo, era possível observar na tela o resultado da programação.
to spiral :size if :size > 30 [stop] fd :size rt 15 spiral :size * 1.02 end spiral 10
Ensino de Linguagens
●
Robocode:
–
Através de resultados visuais, é possível observar as seguintes características da OO:
●
●
●
●
●
–
Classes
Instância de classe
Eventos
Sobre-escrita
Envio de mensagens
Pode-se inclusive utilizar de I.A.
Robôs em Java
Robôs de verdade mesmo, não virtuais :-)
LeJOS: Java em Lego
●
Projeto Open-Source que possibilitou uso de
Java em controladores RCX.
Tommy
●
●
Participou do DARPA Grand Challenge 2005
Usa a tecnologia PRI-MAX que é desenvolvida totalmente em Java pela Perrone Robotics.
Java onde nenhuma outra chegou
●
●
Spirit e Opportunity
Robôs que estão atualmente em Marte possuem JVM's embutidas com Real Time
Java.
Robocode
Que comecem os jogos!
Robocode: Uma História
●
●
Desenvolvido pela alphaWorks por Mathew
Nelson. Iniciado em Setembro/2000.
Atualmente é um projeto hospedado no
SourceForge.
Objetivos
●
●
●
Prova da performance