introducao ao greenfoot
DESCRIPTION
TRANSCRIPT
Introdução ao GreenfootTécnicas de ProgramaçãoProf. Iális CavalcanteEngenharia da Computação2011.1
IntroduçãoGreenfoot é uma ferramenta computacional desenvolvida para permitir que iniciantes tenham experiência com programação orientada a objetos.◦ Suporta desenvolvimento de aplicações gráficas na
Linguagem de Programação Java™;Desenvolvida e implementada na Universidade de Kent (University of Kent) e Universidade de Deakin (Deakin University);Copyright mantido por Poul Henriksen e Michael KoellingMais informações em: http://www.greenfoot.org
IntroduçãoUm ambiente que suporta cenáriosWorld+Actor;Provê experiências visualmente engajadas e concretas para estudantesuniversitários;Construída sobre o BlueJ.
Ambiente BlueJ
IDE desenvolvida especificamente para o ensino introdutório de orientação a objeto.Desenvolvida por Michael Kölling.Boa visualização de conceitos importantes.Interatividade traz estes conceitos para a realidade.Tipicamente usada para ensino de graduação.
CONHECENDO O AMBIENTE
Vamos finalmente usar o Greenfoot...
Conhecendo o AmbienteInterface visual consiste de 3 partes principais◦ The world
O largo quadro que cobre a maior pate da janelaTem um título, por exemplo, WombatWorldO ambiente (o mundo) onde existem os objetos
◦ Class displayContém todas as classes Java envolvidas no cenários3 grupos: World, Actor e outras classes
◦ Controles de ExecuçãoControla a ação de cada objeto: botão Act;Controla simulação: Run, Pause, sliderReinicia o cenário.
Conhecendo o Ambiente
Abra um projeto já existente (Scenario -> Open)◦ Alguns exemplos:
Wombats: 3 classes, 266 linhas no total TurtleGraphics: 6 classes, 276 linhas no totalAnts: 6 classes, 598 linhas no total
◦ Escolha o cenário Wombats.
Conhecendo o Ambiente
Clique na classe Wombat ou Leaf para torná-la ativaCrie e coloque um objeto dentro do mundo:◦ Ative uma classe então shift+click em algum lugar de World
◦ Clique com o botão direito em uma classe (exemplo classe Wombat) para abrir o menu de contexto da classe, selecione o item (construtor) New Wombat() e clique em algum lugar de World
Conhecendo o Ambiente
Menu de contexto da classe
Crie 3 objetos e posicione-os em World
Conhecendo o AmbienteMétodos de um objeto podem ser diretamente invocados;
Um método é uma ação simples que um objeto pode executar;
Clique-direito no objeto para mostrar seu (objeto) menu de contexto, em que pode-se selecionar um método e pedir o objeto para fzer algo.turnleft() move()
Conhecendo o AmbienteO mundo em que os wombats vivem (WombatWorld) é, na verdade, um objeto também.Mas somente pode existir um objeto World por vez.Ele funciona como um container para objetos Actor (exemplos: Wombat, Leaf etc.);Invocação de métodos simples é ainda possível para o objeto World; apnas clique-direito no título WombatWorld e selecione um método do menu.
Conhecendo o Ambiente
populate() randomLeaves()
Conhecendo o AmbienteUm método pode ter um ou mais parâmetrosO usuário é requisitado para dar valor(es) dos parâmetro(s) quando invocar tal método.Tente o método setDirection() de um objeto Wombat ou o método randomLeaves() de WombatWorld
Um método pode também retornar um valor (ou referência a um objeto) se é invocado.Tente foundLeaf() ou getLeavesEaten() de um objeto Wombat.
Conhecendo o Ambiente
Removendo objetos◦ Um objeto pode ser removido por selecionar
item Remove do menu de contexto do objeto;
◦ Clicando em Reset ou criando um novo objeto World do menu de contexto do objeto pode-se remover todos os objetos; porém, na verdade, isso depende da implementação do construtor da classe World (*)
Conhecendo o Ambiente
Conhecendo o AmbienteAção dos Objetos
◦ Cada objeto Actor possui um método especial chamado act()◦ Pressionar o botão Act no painel de controle significa pedir ao
Greenfoot executar o método act() para todos os objetos em World.
◦ Um objeto atua por fazer o que quer que ele faça:Wombats movem-se para a frente, se encontrar uma folha em seu caminho, eles a comerãoLeaves não fazem nada
◦ A aão depende, na verdade, em como o método act() é definido; isto é, pode-se programar o comportamento dos objetos!!!
Conhecendo o AmbienteExecutar a Simulação◦ Um cenário pode ser executado por clicar no botão
Run;◦ Isso equivale a clicar no botão Act várias e várias
vezes rapidamente◦ O slider prócimo aos botões Act e Run configuram a
velocidade de execução/simulação
◦ Faça um experimento com o cenário WombatsClique Reset se já tem alguns objetosSelecione populate() do menu de WombatWorldClique Run.
Conhecendo o Ambiente
Executando o cenário wombats
Conhecendo o AmbienteDisplay de Classes
◦ Display de Classes contém todas as classes que são usadas no cenário.
◦ Classes World e Actor são superclasses abstratas, parte do sistema Greenfoot;
◦ Cenário wombats tem 2 classes atores (Wombat, Leaf)
Conhecendo o AmbienteEditor de Classes
◦ Pode-se modificar o comportamento de objetos editando o código-fonte da classe correspondente.
◦ Para apresentar o editor de código-fonte (pelo BlueJ):
Duplo-clique na classeClique com o botão direito na classe, escolha o item Open editor
Conhecendo o AmbienteEditor de Classe
Conhecendo o AmbienteA classe Leaf◦ É a classe mais simples comparada às classes Wombat
eWombatWorld◦ Objetos Leaf não fazem nada!◦ Como já visto, a classe Leaf não tem nenhuma
instruçãoe consiste de um construtor vazio.
Conhecendo o AmbienteClasse Wombat
importa pacotes necessários
cabeçalho da class;Wombat é uma subclassede Actor
dados (constantes evariáveis)
construtor da class emétodos
Conhecendo o AmbienteClasse Wombat◦ 4 constantes : EAST,
WEST, NORTH, SOUTH◦ 2 variáveis : direction,
leavesEaten◦ 1 construtor : Wombat()◦ 8 métodos :
getLeavesEaten(), foundLeaf(), eatLeaf()setDirection(), turnLeft()canMove(), move()act()
Conhecendo o Ambiente
construtor inicializaçãodirection e leavesEaten
este método is herdadoda superclasse Actor
existe algum objeto Leafem minha posição?
remove objeto Leafe atualiza a variávelleavesEaten
Conhecendo o Ambiente
Conhecendo o Ambiente
este método é herdadoda superclasse Actor
Conhecendo o Ambiente
muda a direção em 90 grauspara a esquerda
Conhecendo o Ambiente
Conhecendo o Ambiente
se objeto alcança umadas bordas, não faça nada!
setLocation() éherdado de Actor
o objeto move-seem frente; depende da sua direção
Conhecendo o Ambiente
se encontrar folhas (leaves), coma!
se não encontrar folhas , maspode mover-se à frente, então mexa-se!
se não encontrar folhas e não pode mover-se à frente, então gire à esquerda!
Conhecendo o AmbienteClasse WombatWorld◦ 1 construtor : WombatWorld()◦ 2 métodos :
populate()randomLeaves()
Conhecendo o Ambiente
chama o construtor World
configura o fundo.o método é herdadoda superclasse World
cell.jpg
Conhecendo o Ambiente
Conhecendo o Ambiente
Cria um objeto Leaf em uma posiçãoaleatória (x,y); repita howmanyvezes
Testando outros cenários
Escolha Scenario -> Open ... e selecione um cenários dos disponíveis no Greenfoot;Pressione o botão Compile all, se necessário.Instancie os objetos e execute o cenário:◦ wombats2◦ lunarlander (permite ação com teclado)◦ ballons (permite ação com mouse)◦ ants (permite ação com mouse)
Referências
http://www.greenfoot.org
http://www.bluej.org