Mostrar mensagens com a etiqueta Tutoriais. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Tutoriais. Mostrar todas as mensagens

segunda-feira, 28 de novembro de 2022

Tynker: Mover Personagens

Neste recurso, vais aprender a programar diferentes formas de mover personagens no Tynker.

Mover Personagens no Tynker

Podemos programar o movimento de personagens e outros elementos no ambiente de programação Tynker de diversas formas. Nesta página, mostramos como programar recorrendo ao posicionamento em coordenadas cartesianas



Neste vídeo, aprendes três formas de programar o movimento no Tynker: definindo os valores das coordenadas X e Y nos blogos Go to (vai para) e Glide (desliza), utilizando os sensores para programar o programa para ler as coordenadas do toque no ecrã, e utilizando geradores de números aleatórios (Pick Random - sorteia números) para que seja o programa definir para onde se movem os personagens, de forma aleatória.

Definir manualmente o movimento

Podemos, utilizando diversos blocos Glide (desliza), e um ciclo (forever), programar o movimento dos personagens. Para isso, definimos os valores das coordenadas X e Y para cada posição que desejarmos para o personagem.

Definir o Movimento com o Toque

Para tirar partido do toque no ecrã do tablet/telemóvel, usamos sensores de toque. Estes vão ler os valores X e Y das coordenadas do ponto em que o nosso dedo toca no ecrã, e se os inserirmos como coordenadas, vão permitir que o personagem se desloque com o toque do dedo. Usamos os sensores Touch X  e Touch Y. No computador, podemos usar os sensores posição X e posição Y do rato para o mesmo efeito.

No Tynker, encontras estes sensores no separador Sensores/Sensing.

Definir um Movimento Aleatório

Com este método, usas geradores de números aleatórios para que seja o programa a decidir qual a posição para onde se deslocará o personagem. Assim, programas movimentos imprevisíveis nos teus personagens. Tens de usar um bloco Pick Random (sorteia ao acaso) para as coordenadas de X e Y.

Encontras o bloco Pick Random no separador Matemática/Maths do Tynker.

sexta-feira, 4 de novembro de 2022

Espirais Algorítmicas

 

Este projeto parte de umas das ideias de programação do texto 20 Things to do with a Computer, de Seymour Papert e Cynthia Solomon. Se no original parte do Logo, é possível adaptar para ambientes visuais. É um projeto interessante porque nos permite cruzar artes com introdução à programação, pensamento computacional, e alguma matemática. 

O princípio é simples: traçar o rasto deixado por um elemento que se desloca de forma incremental mas vira num ângulo único. O resultado é uma espiral, criando um efeito visual.

Estes guias foram desenvolvidos para o ambiente Tynker, mas podem ser replicados em qualquer ambiente visual.


Parte I: Criar o algoritmo inicial, definindo uma variável para os passos, e construindo a sequência que irá gerar o padrão visual espiralado.

Aqui, um exemplo de código que permite atingir este resultado. Para realizar este projeto, precisas de blocos de movimento para definir posição e os movimentos do personagem; definir uma variável para alterar os passos; usar a caneta para criar o gráfico; usar um ciclo para repetir ações múltiplas vezes. Dicas: embora a variável possa ter qualquer nome, para melhor organizar o algoritmo é boa ideia nomear as variáveis para a informação que queremos que elas guardem: 122º é um valor que dá resultados interessantes, mas podes experimentar qualquer valor entre 1º e 179º para ver que padrões espiralados geram.

Parte II: Automatizar o algoritmo, usando uma variável para definir valores aleatórios para os ângulos de rotação. 

Aqui, um exemplo de código que permite atingir este resultado. Gerando um valor aleatório (no intervalo específico entre 90 e 180 graus), o algoritmo gera um novo padrão espiralado sempre que corre.

quarta-feira, 18 de maio de 2022

Pocket Code: Criar Jogos

Organizei a sequência de vídeos passo a passo, que mostra como criar um jogo simples usando o Pocket Code, numa playlist. Esta sequência foi pensada para apoio a aulas de TIC, 5º ano, explorando o pensamento computacional através da criação de pequenos algoritmos.


 

sexta-feira, 13 de maio de 2022

Tutorial Pocket Code: Criar um Jogo

 Neste passo, vamos usar variáveis para contabilizar pontos.

V: Criar um Sistema de Pontuação

Vamos utilizar variáveis para gerir um sistema de pontuação. As variáveis permitem-nos guardar dados que se atualizam num programa, mostrando-os quando necessitamos.

Neste vídeo, aprendes como programar variáveis para contar os pontos do teu jogo.


No início do algoritmo, temos de colocar blocos para definir a variável, bem como mostrar os seus valores.

Somos nós que damos nome às variáveis. Atribuir um nome associado à função que a variável vai desempenhar é uma boa prática, para evitar confusão durante o processo de programação.


Estes blocos controlam a pontuação, sempre que o nosso personagem é tocado pelo seu adversário. Adicionando um bloco alterar variável por -1, retiramos pontos.


Sempre que o nosso personagem apanha o seu objetivo, a variável por um, ou seja, somamos pontos.


Onde estão as variáveis? Nos guiões, categoria Dados, encontras os blocos para definir e trabalhar com variáveis e listas.

segunda-feira, 9 de maio de 2022

Tutorial Pocket Code: Criar um Jogo (IV)

 Neste tutorial, vamos programar um elemento que sirva de objetivo para o jogo.

IV: Definir um Objetivo de Jogo

Neste vídeo, descobres como programar um ator para servir de objetivo de jogo: terá de ser apanhado pelo herói.


No exemplo de código, podes ver que: 

- o ator tem um bloco que determina uma rotação fixa (evita ficar invertido);

- a programação essencial resume-se a uma condição que determina que, sempre que for tocado por um outro ator (o nosso "herói"), muda de posição  para coordenadas aleatórias, rebatendo caso estas ultrapassem os limites do palco. A condição está dentro de um ciclo, para que se repita.

sexta-feira, 6 de maio de 2022

Tutorial Pocket Code: Criar um Jogo (III)

 Trabalhar com condições.

III: Usar Condições para Definir Ações


Neste vídeo, podes ver como usar uma condição para definir as ações dos teus atores.

Aqui, podes ver um exemplo de código. Com a condição Se touches actor or object é verdadeiro definida, podemos definir que ao ser tocado por outro objeto, este que está a ser programado faz a seguinte rotina: oculta-se, muda de posição, aguarda, e volta a mostrar-se. Para que a condição funcione, está colocada dentro de um ciclo infinito (Forever).


Encontras as condições na categoria Controlo.


Para inserir a função tocar no ator, clica no valor da condição, acede ao editor de fórmulas, e clica em objeto.

Da lista de funções disponível, seleciona touches actor or object.

segunda-feira, 2 de maio de 2022

Tutorial Pocket Code: Criar um Jogo (II)

 No segundo tutorial, iremos aprender a controlar um personagem com movimentos aleatórios, gerando as coordenadas de deslocação utilizando um gerador de números aleatórios.

II - Controlar um Personagem com Movimento Aleatório


Neste vídeo, mostramos como podes controlar um personagem com movimentos aleatórios. Para o fazer, vais necessitar de usar blocos Planar. Para que o personagem se mova de forma imprevisível, o Pocket Code precisa de valores aleatórios para as coordenadas X e Y. Para definir estes valores, podemos usar uma função matemática, a Random (gerador de números aleatórios).

Vê aqui um exemplo de código:


Estes blocos definem um ciclo infinito (Forever), dentro do qual o personagem plana durante o tempo definido para coordenadas aleatórias.

Onde encontramos a função Random?



Tocas no valor de X (ou de Y), e acedes ao editor de fórmulas. Em seguida, toca em Funções.



Na lista de funções, seleciona a Random (1,6). Em seguida, terás de alterar os valores originais (1, o mínimo, e 6, o máximo) para os valores que necessitas, correspondentes ao espaço das coordenadas cartesianas do Pocket Code.


E como é que podemos determinar os valores máximos e mínimos para as coordenadas X e Y? Depende do tamanho do ecrã do dispositivo. Se o telemóvel tiver um ecrã com 1080 x 2400 de resolução, isso significa que o espaço do jogo pode variar entre -540 e 540 no eixo X, e -1200 e 1200 no eixo Y, uma vez que o sistema de coordenadas se inicia no centro do ecrã. Podes experimentar diferentes valores, e verificar até onde é o que o teu personagem se desloca.

segunda-feira, 25 de abril de 2022

Tutorial Pocket Code: Criar um Jogo I

Ao longo desta sequência, iremos mostrar como criar um pequeno jogo utilizando a aplicação Pocket Code. Iniciamos com a forma de controlar um ator utilizando o toque do dedo no ecrã do telemóvel ou tablet.

I - Adicionar um Cenário e Controlar Personagens.

Neste vídeo, descobres como programar a forma de controle de um personagem tocando no ecrã do dispositivo móvel, recorrendo ao sensor de toque.

Podes ver aqui um exemplo de código para controlar um ator com toques no ecrã:


Depois de definir um ator, terás de colocar num ciclo infinito (forever) um bloco Planar. As coordenadas do ponto para onde o ator desliza são definidas pelas funções stage touch x stage touch y.

Para introduzir essas funções, tocas num valor das coordenadas, e invocas a opção Edit Formula, que te permite aceder aos sensores do dispositivo.

As funções Stage Touch estão disponíveis no separador Dispositivos, categoria Deteção de Toque.

Há outras formas de controlar um ator, usando outros sensores do telemóvel, ou utilizando outros métodos.

domingo, 11 de abril de 2021

Tutorial Snapseed I: Correções de Imagem

 

O Snapseed é um editor gratuito de imagem, desenvolvido pela Google. Está pensado para dispositivos móveis, e coloca na ponta dos dedos muitas opções de edição de imagem. Pode-se trabalhar com filtros, ou ajustar inúmeras opções de edição com elevado nível de controlo. É uma das soluções de edição de imagem mais completas que encontrei para Android, permitindo fazer no telemóvel ou tablet edições que até há pouco só estavam disponíveis em aplicações para PC.

Neste tutorial, mostramos como usar as opções de correção de imagem do Snapseed - ajustes de cor, brilho, contraste, luminosidade e saturação; curvas; estrutura e equilíbrio de brancos.

sábado, 27 de fevereiro de 2021

Desafios 3D


Alguns tutoriais em modo faísca, para desafiar os alunos mais novos durante o confinamento, ajudando a resolver o problema de e agora, aprendi a modelar 3D mas vou fazer o quê?, e ainda olhando para conceitos de pensamento computacional - especificamente, decomposição.


Modelar um lápis, e para o fazer, analisar um objeto e decompô-lo em formas elementares.


Modelar uma flor, combinando desenho de superfícies, primitivos, e operações de manipulação e modificação.

quinta-feira, 12 de novembro de 2020

Tutoriais TIC: Google Drive

 Com a Drive, podes arquivar, gerir e editar os teus ficheiros em qualquer local, e qualquer dispositivo (desde que tenhas ligação à internet). 

Onde obter a Drive:

Playstore: Google Drive.

App Store: Google Drive.

Não está disponível na AppGallery Huawei.

Google Drive

Com a Drive, podes guardar, gerir, editar e partilhar os teus ficheiros. Ao enviares ou criares, ficam armazenados na nuvem. Isto significa que são acessíveis em qualquer computador, telemóvel ou tablet, desde que esteja ligado à internet.

Para além de guardar os teus ficheiros, podes partilhar facilmente com quem quiseres. Podes também criar documentos de texto, apresentações, folhas de cálculo e desenhos, entre outras funções.

Drive no Telemóvel/Tablet:

Neste vídeo, aprendes a utilizar a aplicação Drive no teu telemóvel ou tablet, para adicionar, editar, gerir, criar e partilhar ficheiros e documentos.

Drive no Computador:

Neste vídeo, aprendes a utilizar a aplicação Drive no teu computador, para adicionar, editar, gerir, criar e partilhar ficheiros e documentos.

quinta-feira, 29 de outubro de 2020

Desafios Pocket Code: Monstros de Halloween

Nestes desafios, vais programar um monstro que nunca pára, Ou um monstro que se multiplica sem parar. Arriscas estes desafios arrepiantes?

Desafio Halloween

Vamos fazer coisas assustadoras com programação? O desafio é criar programas de susto no Pocket Code. Este desafio tem dois níveis: Nível 1, simples, e Nível 2, complicado.

Nível 1: O Monstro Irrequieto

 



Neste vídeo, podes ver a sequência de ações para criares este programa. Vais trabalhar com eventos, ciclos (nas estruturas de controle) e movimento. Usando a opção Place Visually consegues posicionar visualmente o teu personagem nas coordenadas cartesianas, sem teres de te preocupar com os valores de X e Y.

Blocos do programa:


Com estes blocos, controlas a animação do personagem. Necessitas de um ciclo Forever, de Próxima Aparência e Aguarde Segundos.


Com esta sequência, controlas o movimento. Os blocos Posicionar Em Planar Segundo estão na categoria Movimento. Para alterares as coordenadas das posições, toca no valor de X e escolhe a opção Place Visually. Não te esqueças de incluir um ciclo Forever para que o monstro seja imparável.

Nível 2: Monstros Infinitos

 



Neste vídeo, podes ver como é criado este programa. Vais precisar de trabalhar com diversos eventos: When Scene Starts, que define o que acontece quando o programa se inicia; e Quando Fores Criado como um Clone, que define o que acontece aos clones de um ator ou recurso. Precisas também do Cria um Clone de, que faz cópias de um ator ou recurso; e usar a Função Random, que gera números aleatórios, para poderes movimentar o ator e os seus clones.

Blocos novos:


Clonar: Podes encontrar estes blocos nas categorias Evento e Controlo. O clonar faz uma cópia do teu ator. Se estiver dentro de um ciclo infinito, faz cópias infinitas...


Função Random: Esta função gera números aleatórios. Vais ter de gerar números para os valores de X (coordenada horizontal) e de Y (coordenada vertical), para controlar as coordenadas para onde o teu monstro desliza. Dica: com o programa na vertical, podes colocar random( -500, 500 ) para os valores de X, e random( -900, 900 ) para os valores de Y. Com o programa na horizontal, podes colocar random( -900, 900 ) para os valores de X, e random( -500, 500 ) para os valores de Y. 


Para usares a função random, tocas nos valores de X e de Y. No editor de equações, tocas em Funções e escolhes random(1,6) da lista. Depois, alteras os valores originais para os que quiseres.

Blocos do Programa


Com estes dois eventos When Scene Starts, controlas as ações do teu ator original.


Com estes dois eventos Quando fores criado como clone, controlas o que acontece aos clones do teu ator. 

Se estiveste atento ao vídeo, reparaste que bastou copiar parte da programação. Há uma forma mais eficaz de fazer isso, criando procedimentos. Mais tarde, iremos aprendê-la.

E agora... divirtam-se a criar programas assustadores!

segunda-feira, 26 de outubro de 2020

Desafio Pocket Code: Detetar Rosto

Reconhecimento Facial

As tecnologias de reconhecimento facial estão ligadas ao campo da inteligência artificial. Combinando algoritmos de inteligência artificial, bases de dados de imagens de rostos e câmaras de vídeo, é hoje possível desenvolver aplicações que reconhecem indivíduos em qualquer local, ou analisam as expressões para determinar as emoções das pessoas, entre outros usos. 

O Pocket Code não tem recursos avançados de Inteligência Artificial, mas tem uma função que, usando a câmara do telemóvel, permite à aplicação perceber se está a detetar um rosto.  

Vamos usar a função is face detected para criar um programa que reaja sempre que a câmara detecte um rosto.

Programa que Deteta o Rosto

 



Vê atentamente o vídeo, que mostra os vários passos para conseguires criar este programa.

Código do Programa


Este é o programa completo. Usámos um personagem com dois trajes. Quando a função deteta um rosto, apresenta um dos trajes; se não o deteta, o personagem muda de traje. Ainda se usou a câmara como fundo do programa. Tudo corre dentro de um ciclo Forever (para sempre), senão o programa não funciona corretamente.

Blocos que Necessitas:

Aqui podes ficar a saber que blocos necessitas para este desafio.

Se.. Verdadeiro... Outro...


O bloco mais importante que necessitas é a condição Se... Verdadeiro... Outro. Esta condição permite-te programar ações que dependam do funcionamento de um elemento. Se o reconhecimento facial reconhecer um rosto (ou seja, é verdadeiro), então programas uma ação. Se for falso, programas Outro ação.


Esta condição está na categoria Controlo. Quando a aplicas, tens três blocos, e podes encaixar outros blocos entre cada um deles.

Is Face Detected

Para acederes à função Is Face Detected tens de editar o campo editável da condição. 


Tocas nesse campo, e no editor de equações que aparece escolhes a opção Dispositivo. Esta é a que permite adicionar sensores do teu telemóvel como funções no Pocket Code.


Em seguida, consulta a lista de funções e procura na categoria Visual Sensors (sensores visuais) a função Is Face Detected.

Ativar a Câmara

Se reparaste atentamente no vídeo do desafio, a câmara é usada para complementar a ação do rosto detectado. Como usar?


Na lista de categorias de blocos, tens uma categoria denominada Device (também pode surgir como Dispositivo). Tocando nela, tens acesso a blocos que usam diretamente recursos do teu telemóvel.


Os blocos de cor verde controlam a câmara e o flash. O bloco Turn Camera permite-te controlar o ligar e desligar da câmara; o bloco Use Camera permite-te definir que câmara usar, se a frontal ou a traseira.

Diverte-te, explora, e cria programas giros. Como é que podes modificar o código deste tutorial para, por exemplo, fazeres com que o telemóvel cumprimente alguém sempre que o rosto é detetado?

Adaptado de Pocket Code - Face Detection.

sexta-feira, 23 de outubro de 2020

Pocket Code: Movimentos Aleatórios

Neste projeto, vais aprender a posicionar os teus atores com todo o rigor no Pocket Code, controlar os seus  movimentos, descobrir as coordenadas cartesianas, e fazer com que um ator se mova de forma imprevisível. Isto pode ser útil para afinar animações, ou criar personagens automáticos para jogos.

Movimentos no Pocket Code

Para mover atores no ecrã, tens de os posicionar e definir como, e para onde, se movem. Podes definir isto visualmente, ou usando operações matemáticas. Vê aqui como:

 



Isto é possível porque o Pocket Code usa um sistema de Coordenadas Cartesianas para saber exatamente onde estão todos os atores e objetos. 

Embora não te apercebas disso, este tipo de sistemas é fundamental para representar imagens 2D e 3D no ecrã do teu computador, tablet ou telemóvel. Sem ele, não conseguirias usar um rato, ou tocar no ecrã para usar o telemóvel.

Posicionar e Mover um Ator


Os blocos Posicionar permitem-te colocar o ator onde quiseres, no espaço do programa. Podes posicionar alterando os valores das coordenadas X e Y, ou colocando visualmente. 


Para isso, tocas nos valores, e escolhes ou a opção Place Visually (coloca visualmente), ou Edit Formula (edita os valores).

Mover um Ator


O bloco Planar é um dos mais adequados para controlar o movimento dos atores. Podes definir coordenadas, colocar visualmente, ou usar coordenadas aleatórias. Podes alterar o tempo que demora a executar o comando, tornando o movimento mais suave.

Movimento Aleatório

Podes criar uma sequência com blocos Planar para que o teu ator se mova mais do que uma vez. Mas poderá ser melhor definir que o ator se move de forma aleatória. Com isso, usas um só bloco dentro de um ciclo, e o ator move-se para sempre (ou o número de vezes que definires) de forma imprevisível.

Para isso, vamos ter de usar uma função matemática: a Função Random. Esta permite gerar valores aleatórios dentro de um intervalo de números. Por exemplo, se definires que a função está entre os números 1 e 5, sempre que for executada dá-te um número ao acaso que pode ser o 1, o 2, o 3, o 4 ou o 5.


Para ativares a Função Random, tens de clicar nos valores de X e de Y, o que vai abrir o Editor de Fórmulas. Em seguida, clicas no botão Funções.


E selecionas random (1,6) da lista de funções.


Agora, terás de alterar os valores da função, para gerar movimentos aleatórios. Terás de alterar os valores das coordenadas X (horizontal) e coordenadas Y (vertical)

Mas quais são esses valores?

Coordenadas Cartesianas no Pocket Code

O Pocket Code usa um sistema de coordenadas para posicionar elementos no espaço. Podes visualizá-las, se ao correr o programa clicares na opção ativar eixos.


Os valores máximos podem variar de acordo com a resolução do teu telemóvel ou tablet. Neste exemplo, o eixo X varia entre -600 e 600, enquanto o eixo Y varia entre -926 e 926. Noutros telemóveis, estes valores poderão ser diferentes, de acordo com a resolução do ecrã. 0 é sempre o centro do espaço.

Repara que temos o ecrã na posição vertical. Se estivesse na horizontal, os valores seriam eixo Y entre -600 e 600, e eixo X entre -926 e 926.

Se no valor de X definires que random (-600, 600) e no valor de Y definires que random (-926, 926), sempre que o bloco for executado o ator desliza para um ponto ao acaso no ecrã.


Se colocares o Planar dentro de um ciclo para sempre, o ator vai estar constantemente a deslocar-se no ecrã de forma imprevisível. Nunca sabes para onde é que vai. Isso será decidido pelos números aleatórios que a função random gera.