introducao ao greenfoot
DESCRIPTION
TRANSCRIPT
![Page 1: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/1.jpg)
Introdução ao GreenfootTécnicas de ProgramaçãoProf. Iális CavalcanteEngenharia da Computação2011.1
![Page 2: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/2.jpg)
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
![Page 3: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/3.jpg)
IntroduçãoUm ambiente que suporta cenáriosWorld+Actor;Provê experiências visualmente engajadas e concretas para estudantesuniversitários;Construída sobre o BlueJ.
![Page 4: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/4.jpg)
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.
![Page 5: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/5.jpg)
CONHECENDO O AMBIENTE
Vamos finalmente usar o Greenfoot...
![Page 6: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/6.jpg)
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.
![Page 7: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/7.jpg)
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.
![Page 8: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/8.jpg)
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
![Page 9: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/9.jpg)
Conhecendo o Ambiente
Menu de contexto da classe
Crie 3 objetos e posicione-os em World
![Page 10: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/10.jpg)
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()
![Page 11: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/11.jpg)
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.
![Page 12: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/12.jpg)
Conhecendo o Ambiente
populate() randomLeaves()
![Page 13: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/13.jpg)
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.
![Page 14: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/14.jpg)
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 (*)
![Page 15: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/15.jpg)
Conhecendo o Ambiente
![Page 16: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/16.jpg)
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!!!
![Page 17: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/17.jpg)
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.
![Page 18: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/18.jpg)
Conhecendo o Ambiente
Executando o cenário wombats
![Page 19: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/19.jpg)
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)
![Page 20: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/20.jpg)
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
![Page 21: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/21.jpg)
Conhecendo o AmbienteEditor de Classe
![Page 22: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/22.jpg)
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.
![Page 23: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/23.jpg)
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
![Page 24: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/24.jpg)
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()
![Page 25: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/25.jpg)
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
![Page 26: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/26.jpg)
Conhecendo o Ambiente
![Page 27: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/27.jpg)
Conhecendo o Ambiente
este método é herdadoda superclasse Actor
![Page 28: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/28.jpg)
Conhecendo o Ambiente
muda a direção em 90 grauspara a esquerda
![Page 29: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/29.jpg)
![Page 30: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/30.jpg)
Conhecendo o Ambiente
![Page 31: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/31.jpg)
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
![Page 32: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/32.jpg)
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!
![Page 33: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/33.jpg)
Conhecendo o AmbienteClasse WombatWorld◦ 1 construtor : WombatWorld()◦ 2 métodos :
populate()randomLeaves()
![Page 34: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/34.jpg)
Conhecendo o Ambiente
chama o construtor World
configura o fundo.o método é herdadoda superclasse World
cell.jpg
![Page 35: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/35.jpg)
Conhecendo o Ambiente
![Page 36: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/36.jpg)
Conhecendo o Ambiente
Cria um objeto Leaf em uma posiçãoaleatória (x,y); repita howmanyvezes
![Page 37: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/37.jpg)
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)
![Page 38: Introducao ao greenfoot](https://reader031.vdocuments.mx/reader031/viewer/2022020919/54beb8d54a79590b668b45f8/html5/thumbnails/38.jpg)
Referências
http://www.greenfoot.org
http://www.bluej.org