38
Introdução ao Greenfoot Técnicas de Programação Prof. Iális Cavalcante Engenharia da Computação 2011.1

Introducao ao greenfoot

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Introducao ao greenfoot

Introdução ao GreenfootTécnicas de ProgramaçãoProf. Iális CavalcanteEngenharia da Computação2011.1

Page 2: Introducao ao greenfoot

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

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

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

CONHECENDO O AMBIENTE

Vamos finalmente usar o Greenfoot...

Page 6: Introducao ao 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.

Page 7: Introducao ao greenfoot

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

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

Conhecendo o Ambiente

Menu de contexto da classe

Crie 3 objetos e posicione-os em World

Page 10: Introducao ao greenfoot

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

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

Conhecendo o Ambiente

populate() randomLeaves()

Page 13: Introducao ao greenfoot

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

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

Conhecendo o Ambiente

Page 16: Introducao ao greenfoot

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

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

Conhecendo o Ambiente

Executando o cenário wombats

Page 19: Introducao ao greenfoot

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

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

Conhecendo o AmbienteEditor de Classe

Page 22: Introducao ao greenfoot

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

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

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

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

Conhecendo o Ambiente

Page 27: Introducao ao greenfoot

Conhecendo o Ambiente

este método é herdadoda superclasse Actor

Page 28: Introducao ao greenfoot

Conhecendo o Ambiente

muda a direção em 90 grauspara a esquerda

Page 29: Introducao ao greenfoot
Page 30: Introducao ao greenfoot

Conhecendo o Ambiente

Page 31: Introducao ao greenfoot

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

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

Conhecendo o AmbienteClasse WombatWorld◦ 1 construtor : WombatWorld()◦ 2 métodos :

populate()randomLeaves()

Page 34: Introducao ao greenfoot

Conhecendo o Ambiente

chama o construtor World

configura o fundo.o método é herdadoda superclasse World

cell.jpg

Page 35: Introducao ao greenfoot

Conhecendo o Ambiente

Page 36: Introducao ao greenfoot

Conhecendo o Ambiente

Cria um objeto Leaf em uma posiçãoaleatória (x,y); repita howmanyvezes

Page 37: Introducao ao greenfoot

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

Referências

http://www.greenfoot.org

http://www.bluej.org