sexta-feira, 15 de junho de 2018

Scracth e Gcode: O desafio de desenhar na areia (parte 02)

Nó ultimo post (http://vemfazermatematicaegames.blogspot.com/2018/06/scracth-e-gcode-o-desafio-de-desenhar.html) vimos algumas interações para fazer formas repetitivas na tela. O desafio de hoje é um pouco mais robusto: criar uma aplicação em Scratch na qual depois do usuário desenhar alguns pontos, ela faça as repetições até chegar em um tamanho mínimo. Vamos lá!?


Acesse o projeto Desenhando na Areia GODE (https://scratch.mit.edu/projects/228934806/) e ao interagir com você percebe que tem três grandes blocos de programação do qual vamos explorar uma a um. Antes de mais nada, iremos usar um tipo de bloco em Variáveis com uma funcionalidade muito específica: a lista.


Os blocos de programação do tipo lista servem para guardar valores numéricos ou não, para serem usados posteriormente. Isso cai como uma luva para o propósito de ter uma funcionalidade aonde você precisa pegar valores de pontos (X,Y) clicados para serem posteriormente colocados no modo de repetição.


Outra funcionalidade do Scratch que é utilizada nesse projeto é a criação de parâmetros de entrada (nesse caso do tipo numérico) que servem como variáveis a serem trabalhadas nesse bloco construído. No projeto apresentado nessa postagem, o "amp" foi criado com essa funcionalidade dentro do bloco "forma" e no "geraPoligono".


O bloco criado "defina[geraPolígono(amp)]" é responsável por essa arquitetura de pegar pontos em x com a listagem lx e pontos em y com ly. Ainda temos a estrutura lógica responsável por pegar apenas pontos quando o mouse está clicado e uma interação igual a 10, pois queremos nove pontos selecionados, já que o Scratch entende o primeiro como a posição inicial aonde a bolinha está. Note que ainda ao lado de cada valor de X e cada valor de Y, temos um fator amp multiplicado a eles, que serve como o fator de repetição que vai diminuindo (ou aumentando caso você queira mexer na programação) do desenho realizado na primeira vez pelo usuário.


No bloco "defina[forma(amp)] temos o bloco de programação responsável por organizar na forma (X,Y) os pontos da lista e definir o fator amp a ser multiplicado. E finalmente no bloco cuja entrada é a barra espaço temos os comandos responsáveis por desenhar a forma e inserir as 10 interações com o valor 0.1. Existem alguns cuidados muito importantes ao trabalhar com tantas variáveis e interações que é justamente fazer o posicionamento de cada um deles no bloco correto em que está sendo utilizada e sempre limpar os valores a cada reinicio de projeto, pois isso pode gerar problemas do tipo ter valores já usados em interação que ao iniciar repassa para o comando de repetição um valor inicial diferente do que deveria ser. Fique ligado nisso!

Que tal testar esse projeto construindo formas bem diferentes e verificar se é possível delas serem realizadas? Qual a diferença perceptível entre objetos geométricos côncavos e convexos? Que tal testar e mudar o número de interações? Como você programaria para que o usuário pudesse entrar com 20 pontos? Deixe nos comentários essas e outras experiências. Até a próxima.

Nenhum comentário:

Postar um comentário

Como não perder nenhum compromisso: Meu App Agenda

No nosso dia a dia a agenda é um instrumento de grande importância que as pessoas utilizam para fazer anotações de compromissos ou informaçõ...