A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programando em Alice Tim Margush Department of Computer Science University of Akron © 2006.

Apresentações semelhantes


Apresentação em tema: "Programando em Alice Tim Margush Department of Computer Science University of Akron © 2006."— Transcrição da apresentação:

1 Programando em Alice Tim Margush Department of Computer Science University of Akron © 2006

2 Programming in Alice © 2006 Dr. Tim Margush 2 Metodologia de Programação Entender o problema e pensar em uma solução. Entender o problema e pensar em uma solução. Cria um algoritmo para solucionar o problema Cria um algoritmo para solucionar o problema –Storyboards são úteis para ajudar a entender a animação Implementar o algoritmo Implementar o algoritmo Testar e melhorar Testar e melhorar

3 Programming in Alice © 2006 Dr. Tim Margush 3 Cenário (Problema) Descrever a animação desejada Descrever a animação desejada –Cena inicial Objetos, posicionamento, etc Objetos, posicionamento, etc –Mudanças na cena Movimentação de Objetos, etc Movimentação de Objetos, etc –Interações com a cena Comandos do usuário, eventos na animação Comandos do usuário, eventos na animação

4 Programming in Alice © 2006 Dr. Tim Margush 4 Cenário (Exemplo) Um peixe e um barco estão na agua perto de uma pequena ilha. O peixe da uma volta em torno da ilha, submerge e salta para frente. O barco está a deriva perto da ilha. Uma arvore indica que o vento sopra forte na ilha. Um peixe e um barco estão na agua perto de uma pequena ilha. O peixe da uma volta em torno da ilha, submerge e salta para frente. O barco está a deriva perto da ilha. Uma arvore indica que o vento sopra forte na ilha.

5 Programming in Alice © 2006 Dr. Tim Margush 5 Cenário (Exemplo) - Objetos Uma cena no mar com o ator principal sendo o peixe. O peixe nada em volta da ilha. Uma simples animação sem interação do usuário. Uma cena no mar com o ator principal sendo o peixe. O peixe nada em volta da ilha. Uma simples animação sem interação do usuário. Objetos Objetos –Peixe, barco, arvore (animada) –Ilha –Mar O O peixe e o barco estão no mar perto de uma ilha. O peixe circula a ilha, submerge e salta para frente. O barco está a deriva perto da ilha. Uma arvore indica que o vento sopra forte na ilha.

6 Programming in Alice © 2006 Dr. Tim Margush 6 Cenário (Exemplo)- Ações Peixe circula a ilha Peixe circula a ilha Peixe submerge e salta para frente. Peixe submerge e salta para frente. O barco está a deriva perto da ilha. O barco está a deriva perto da ilha. Os galhos da arvore balançam Os galhos da arvore balançam O peixe e o barto estão na água perto da ilha. O peixe circula a ilha, mergula, salta para frente. O barco está a deriva. Uma arvore indica que o vento sopra forte na O peixe e o barto estão na água perto da ilha. O peixe circula a ilha, mergula, salta para frente. O barco está a deriva. Uma arvore indica que o vento sopra forte na

7 Programming in Alice © 2006 Dr. Tim Margush 7 Storyboard Visual Visual –Ilustra o posicionamento e movimento dos objetos com uma série de cenas. –Com a descrição de cada cena. Textual Textual –Define as cenas de animação –Descreve o roteiro das cenas passo a passo.

8 Programming in Alice © 2006 Dr. Tim Margush 8 Visual Storyboard Cena Inicial: Cena Inicial: –Ilha com uma arvore –Peixe e barco Ação: Ação: –Arvore balança –Barco a deriva Som: Som: –Vento

9 Programming in Alice © 2006 Dr. Tim Margush 9 Visual Storyboard Descrição: Descrição: –Peixe submerge e salta para frente. Ações: Ações: –Peixe submerge e então se prepara para saltar. –Peixe salta pra frente. –Outras ações e continuação Som Som –Vento

10 Programming in Alice © 2006 Dr. Tim Margush 10 Textual Storyboard Cena 2: O Salto Cena 2: O Salto Do these in order Do these in order –Move fish down –Turn fish back –Do these together Move fish Up Move fish Up Turn fish forward Turn fish forward –Faz som de mergulho Um Algoritmo (pseudocódigo)

11 Programming in Alice © 2006 Dr. Tim Margush 11 Avaliação As cenas se conectam bem? As cenas se conectam bem? O que podemos modificar para fazer a transição entre cenas mais suave? O que podemos modificar para fazer a transição entre cenas mais suave? Está faltando alguma cena(baseada na especificação original)? Está faltando alguma cena(baseada na especificação original)? Está faltando alguma descrição na especificação original? Está faltando alguma descrição na especificação original?

12 Programming in Alice © 2006 Dr. Tim Margush 12 Implementação Escolha uma linguagem de programação e ambiente Escolha uma linguagem de programação e ambiente –Vamos escolher Alice =) –Escolha de acordo com a disponibilidade e capacidade de cada linguagem –Nem sempre escolha o que você está mais confortável

13 Programming in Alice © 2006 Dr. Tim Margush 13 Início da Animação Crie um novo Mundo em Alice Crie um novo Mundo em Alice –Escolha o template como ponto de partida –Escolha um nome bem representativo para o mundo e salve-o numa pasta Crie a Cena Inicial Crie a Cena Inicial –Adicione os objetos de acordo com o storyboard.

14 Programming in Alice © 2006 Dr. Tim Margush 14 Programando Editor – A ferramento utilizada para escrever o seu programa Editor – A ferramento utilizada para escrever o seu programa –Use o editor para comandar os objetos da sua cena Nossa primeira instrução vai ser colocada no método Nossa primeira instrução vai ser colocada no método –world.my_first_method() Objeto ao qual o Método pertence Nome do Método Nome complet o do Método

15 Programming in Alice © 2006 Dr. Tim Margush 15 Método Inicial Quando o mundo inicia, um metodo específico é executado Quando o mundo inicia, um metodo específico é executado –Isso é mostrado na parte de eventos –Nesse exemplo, world.my_first_method() As intruções para o método é inserida na aba de código no Editor As intruções para o método é inserida na aba de código no Editor –Alice usa drag-n-drop para reduzir os erros de sintaxe Erro de sintaxe é um erro gramatical na estrutura de instruções: pontuação, erro de digitação, ordem errada de palavras, etc O editor de Alice te ajuda a não errar na sintaxe

16 Programming in Alice © 2006 Dr. Tim Margush 16 Storyboard to Code Instruções em Alice normalmente afetam um objeto. Instruções em Alice normalmente afetam um objeto. A sintaxe de uma instrução que chama uma ação de um objeto é: A sintaxe de uma instrução que chama uma ação de um objeto é: –object_name.method_name() pode existir coisas dentro do parenteses chamadas argumentos pode existir coisas dentro do parenteses chamadas argumentos

17 Programming in Alice © 2006 Dr. Tim Margush 17 Estruturas de Controle Palavras reservadas são utilizadas em linguagens de programação para determinar a ordem(fluxo) de instruções. Palavras reservadas são utilizadas em linguagens de programação para determinar a ordem(fluxo) de instruções. Alice fornece essas palavras na parte inferior da janela do editor Alice fornece essas palavras na parte inferior da janela do editor Sequencia e Execução paralela Seleção e Repetição Instruções Especiais Comentário e Documentação

18 Programming in Alice © 2006 Dr. Tim Margush 18 Criando uma Estrutura de Controle Arraste o comando para o editor Arraste o comando para o editor Solte-o no local correto contorno verde indica legal, não correto Solte-o no local correto contorno verde indica legal, não correto A estrutura do bloco é criada A estrutura do bloco é criada Note as chaves que encerram cada bloco Note as chaves que encerram cada bloco

19 Programming in Alice © 2006 Dr. Tim Margush 19 Adicionando Ações Cena 2: O Salto Cena 2: O Salto Do these in order Do these in order –Move fish down –Turn fish back –Do these together Move fish forward Turn fish forward –Faz som de mergulho Arraste o peixe para o bloco Escolha os parametros do método

20 Programming in Alice © 2006 Dr. Tim Margush 20 Chamada do Método O objeto lilfish se moverá O objeto lilfish se moverá –Argumentos para move significam: Direção: down Distância:.5 m Outros??? (more…) Clique Play para ver o que acontece Clique Play para ver o que acontece O objeto é lilfish O método é move Os argumentos são: DOWN e 0.5m

21 Programming in Alice © 2006 Dr. Tim Margush 21 Mais Ações Cena 2: O Salto Cena 2: O Salto Do these in order Do these in order –Move fish down –Turn fish back –Do these together Move fish forward Turn fish forward –Make splash sound

22 Programming in Alice © 2006 Dr. Tim Margush 22 Mais Detalhes Down 0.5m O Quão alto o peixe vai? Turn Back 0.25 rev Together: Forward 1 Turn Front.25

23 Programming in Alice © 2006 Dr. Tim Margush 23 Analizando o Caminho do Peixe C = 2 * PI * r 4 = 2 * PI * r 2/PI = r 0.63 = r O peixe sobe 0.63, então termina 0.13m acima da água. 1 metro pra frente (forward 1m) Ângulo de 90 graus(turn 0.25) r

24 Programming in Alice © 2006 Dr. Tim Margush 24 Um Salto melhor C = 2 * PI * r C = 2 * PI * 1.5 C = 9.42 Metade do circulo é 4.71 Alcança 1m de altura Ângulo de 180 graus (turn 0.5) r = 1.5m Começou 0.5m abaixo da superfície Do Together: Forward 4.71 Turn forward 0.5

25 Programming in Alice © 2006 Dr. Tim Margush 25 Aninhando Estruturas de Controle Cada estrutura de controle consiste de um bloco Cada estrutura de controle consiste de um bloco Adicionando uma estrutura de controle dentro de outra é chamado aninhamento (nesting) Adicionando uma estrutura de controle dentro de outra é chamado aninhamento (nesting) Os colchetes indicam os blocos Blocos não se sobrepõe

26 Programming in Alice © 2006 Dr. Tim Margush 26 Documentação Todos os programas merecem uma boa documentação Todos os programas merecem uma boa documentação –Comentários são incluidos no código para indicar o comportamento desejado –Em Alice comentários são adicionados arrastando o controle de comentário para o editor Inserindo comentário Terminado o comentário

27 Programming in Alice © 2006 Dr. Tim Margush 27 Método Orient To obj.orientTo( ) obj.orientTo( ) Use esse método para copiar a orientação de outro objeto (front, right and up) Use esse método para copiar a orientação de outro objeto (front, right and up) –O centro do objeto não é alterado

28 Programming in Alice © 2006 Dr. Tim Margush 28 Turn To Face obj.turnToFace( ) obj.turnToFace( ) Use esse método para que a frente dele fique direcionada para o alvo (a orientação horizontal não é alterada) Use esse método para que a frente dele fique direcionada para o alvo (a orientação horizontal não é alterada)

29 Programming in Alice © 2006 Dr. Tim Margush 29 Point At obj.pointAt( ) obj.pointAt( ) O objeto é apontado em direção ao centro do alvo (a frente do objeto é apontada em direção ao centro do alvo e seu eixo horizontal é alterado) O objeto é apontado em direção ao centro do alvo (a frente do objeto é apontada em direção ao centro do alvo e seu eixo horizontal é alterado) –Mover para frente depois de obj.pointAt(alvo) irá fazer com que o objeto passe pelo centro do alvo

30 Programming in Alice © 2006 Dr. Tim Margush 30 Propriedade Vehicle Escolha a propriedade vehicle de um objeto para fazê-lo se movimentar junto com o veículo Escolha a propriedade vehicle de um objeto para fazê-lo se movimentar junto com o veículo Mover o barco fará o macaco se mover com ele Mas mover o macaco não irá mover o barco, a menos que a propriedade vehicle do barco seja definida como macado, porém isso é ilegal!

31 Programming in Alice © 2006 Dr. Tim Margush 31 Argumentos Adicionais de Movimento duração duração –Padrão é 1 second style style –Como uma sequência de movimentos interage asSeenBy asSeenBy –Controla os movimentos do objeto com o ponto de vista de um objeto diferente(outro objeto)

32 Programming in Alice © 2006 Dr. Tim Margush 32 As Seen By obj.move(UP,1m) define pra cima em relação a orientação do chão obj.move(UP,1m) define pra cima em relação a orientação do chão obj.turn(LEFT,.25rev); asSeenBy(island) roda o objeto ao redor da ilha ao invés de rodar em torno de si mesmo obj.turn(LEFT,.25rev); asSeenBy(island) roda o objeto ao redor da ilha ao invés de rodar em torno de si mesmo sun.turn(RIGHT,0.25 revolutions); asSeenBy(smiley)


Carregar ppt "Programando em Alice Tim Margush Department of Computer Science University of Akron © 2006."

Apresentações semelhantes


Anúncios Google