Espaço dos projetos TIC em 3D, Fab@rts - O 3D nas mãos da Educação!, Laboratório de Criatividade Digital - Clube de Robótica AEVP e outros projetos digitais desenvolvidos no Agrupamento de Escolas Venda do Pinheiro.
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.
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.
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.
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.
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.
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 e 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.
Um desafio para a quadra natalícia: e porque não programar um postal de natal? Neste projeto, vamos aprender a fazê-lo usando um cenário, uma estrela e uma mensagem. Mas podes adaptar e alterar com outros recursos, personagens e animações.
Como Programar o Postal:
Neste vídeo, consegues ver todo o processo para criar o postal de natal.
Sequência:
Criar o programa, escolhendo a opção Vertical ou Horizontal.
Criar o fundo, usando uma imagem da galeria ou desenhando um fundo.
Criar um ator, desenhado, ou importando uma imagem da galeria.
Programar o ator (piscar, criar clones, posicionar).
Criar um segundo ator, usando o Pocket Paint para escrever a mensagem de Natal.
Programar o primeiro ator:
Neste projeto de exemplo, optou-se por usar uma estrela. Mas podemos fazer isto com qualquer outro ator.
Criamos um evento para definir as ações do ator. Neste exemplo, usamos:
bloco When Scene Starts para iniciar as ações;
bloco Definir Tamanho Como, alterando o valor, para definir o tamanho do ator;
ciclo Forever (para sempre), que contém blocos Esconder e Mostrar, intercalados com blocos Aguarde, para criar a ilusão do piscar da estrela.
O segundo evento cria clones do ator, para permitir criar mais estrelas sem ter de criar mais atores. Esta ação corre em paralelo com a animação da estrela. Usamos:
bloco When Scene Starts para iniciar a ação paralela;
ciclo Repetir 5 Vezes (o valor pode ser alterado), contendo um bloco Cria um Clone de. Este ciclo vai gerar cinco clones da estrela original. Se quisermos mais clones, basta alterar o valor do ciclo.
O terceiro evento define as ações dos clones. Todos os eventos atuam em paralelo. Usamos:
evento Quando Fores Criado como um Clone;
bloco Aguarde, para passar algum tempo desde o início do programa e o surgir dos clones;
bloco Posicionar Em, usando a Função Random para definir valores aleatórios para as coordenadas X e Y dos clones. Com este método, os vários clones vão surgir de forma aleatória.
copiámos o ciclo Forever do primeiro evento. Dica: no Pocket Code, quando copiamos um bloco de ciclo, todo o seu conteúdo é também copiado.
Programar o Segundo Ator:
Este tem uma programação mais simples. O ator foi criado usando a opção desenhar ator, e com a ferramenta de texto, escreveu-se uma pequena mensagem. A programação usa dois blocos:
Evento When Scene Starts para iniciar as ações do segundo ator;
bloco Posicionar Em, tendo sido posicionado manualmente na opção Place Visually.
Ir Mais Longe
A partir daqui, podemos afinar o nosso algoritmo. Podemos programar mais efeitos no primeiro ator; criar efeitos e movimento para o segundo ator; melhorar o desenho do fundo. E até adicionar música.
Adicionar Música:
Como fazer? Primeiro, pesquisamos por ficheiros de música no formato mp3. Sites como o Free Music Archive permitem descarregar música de forma gratuita e legal. Também podemos utilizar ficheiros de som que tenhamos no nosso telemóvel.
Uma forma de controlar o som é usar um bloco When Scene Starts; isto define que quando iniciamos o programa, o som começa a tocar.
Os blocos de som estão disponíveis na categoria Audio.
O bloco Iniciar Áudio permite-te gravar um som, e importar da biblioteca.
Ou usar um ficheiro de som que tenhas disponível (opção Selecionar Arquivo).
Com estas dicas, já podes adicionar som aos teus projetos de programação no Pocket Code.
O desafio: Trabalhar o pensamento computacional através da introdução à programação, em colaboração com artes. Introduzir conceitos de programação (sequência, ciclo, evento), criando pequenos algoritmos que, ao serem executados, geram animações.
É, em simultâneo, uma atividade de introdução à programação e uma experiência criativa. Insere-se nas atividades de TIC, como faísca de introdução ao pensamento computacional. É, também, atividade Codeweek.
Tivemos ainda uma parceria com o Plano Nacional de Cinema da nossa escola. Na semana de 25 de outubro celebra-se o dia do cinema de animação, e entre as atividades previstas está a criação de taumatrópios pelos alunos do 5º ano. O primeiro projeto de programação destes meninos foi um taumatrópio virtual, programando os seus desenhos.
Trabalhamos com dispositivos móveis, e o ambiente de programação usado para esta atividade é o Pocket Code. Em vídeo, alguns dos projetos programados pelos alunos.
Dia 13 de outubro, online, tive a oportunidade de partilhar a experiência que vou tendo com o Pocket Code no TeachMeet do Online Bootcamp da EU Codeweek. Todo o evento pode ser visto aqui: Online Bootcamp MOOC: Best practices in EU Code Week TeachMeet.
Coding on Mobile Devices: Fostering CT and Coding Skills Using Mobile Devices
Why? Part of my experience comes from pandemic restrictions, but using mobile devices in education is, for me, a locigal extension of computing modes. A smartphone, a tablet, is essentially a small yet powerful computer, that enables us to go beyond desktop and laptop’s restrictions. They're other mode of computing, which I believe we can harness to further spark our pupils skills and abilities. Remember: which is the device that is always in your pocket, or near you, that no one leaves home without? Also, it’s a personal device, intimate, an extension of your being. so, why not use it to create?
Why not? On the other hand, smartphones are small devices; they expand or complement, but do not substitute, computers. Small devices and screens always bring questions about body posture, or eye strain. That’s something that must not be overlooked. Some of the most popular coding environments do not fit into small screens - for exmaple, Code.org is hard to use; Scratch is unusable. Coding apps on app stores are mostly very basic, focusing too much on step by step games that teach coding concepts, but are not development environments that allow children to create their own algorithms.
Which apps? I’ve started a couple of years ago with Tynker, which translates very well the type of interface that Scratch got us used to to mobile devices. Still, lately, I’ve fell in love with Pocket Code as a coding environment for children using mobile devices. Why? It’s developed specifically to fit any screen, especially small screens. It’s also free, developed by teams of volunteers led by researchers at TU Graz.
Pocket Code: Pocket code works on most mobile devices ,regardless of screen size or OS (some older androids/iOs may be left out). It’s interface was specifically developed for mobile; makes regular use a somewhat clunky experience (always changing screens to access options, blocks, etc.). Adapts the blocks-based interface pioneered by Scratch and recognizes the phone’s sensors - that means that coding projects can take advantage of mobile-specific technologies like gyroscope, compass, touchscreen, accelerometer, camera, and many others. It’s quite powerful, yet simple to use. The project als has a community component, projects can be shared online, downloaded and remixed. Unlike Scratch, the web version does not run any code, but it shows you the algorithm’s blocks. To be run, Pocket Code projects must always be downloaded to a mobile device.
Sábado, dia 9 de outubro, desenvolveu-se o workshop Programa o Teu Foguetão (no Telemóvel). Os participantes puderam experimentar a criação de um pequeno algoritmo para animar um foguetão, usando o ambiente Pocket Code.
A ideia partiu do Code Club Book of Scratch, que tem um pequeno desafio com foguetões, que adaptei para o ambiente Pocket Code. A opção foi por uma abordagem muito diretiva, fazendo os participantes seguir as instruções de programação passo a passo. No final, não só finalizaram os passos esperados do programa, como ainda quiseram ir mais longe, e terminámos a mostrar como podem programar o telemóvel para reconhecer rostos no Pocket Code.
á vários anos que a Biblioteca Municipal Orlando Ribeiro em Telheiras é a casa do Fórum Fantástico, uma das mais antigas e persistentes convenções dedicadas à Ficção Científica, Fantasia e outros géneros do fantástico nas várias vertentes, entre literatura, banda desenhada, animação, cinema, jogos (vídeo e não só), cosplay e outras artes. É um ponto de encontro anual de fãs e criadores, com um forte sentido de comunidade. Temos desenvolvido para este evento, no âmbito da programação ligada ao público infanto-juvenil, algumas sessões sobre tecnologia, e este ano a ideia foi de criar um workshop rápido de introdução à programação e pensamento computacional. Daí o tema - o foguetão é um ícone clássico da ficção científica.
Este ano, com as restrições pandémicas, o potencial de participação estava muito reduzido, mas não deixou de ser um encantador momento com dois pequenos participantes, que saíram da sessão esfuziantes por terem conseguido programar o seu foguetão.
Atividade desenvolvida em parceria com a equipe do Plano Nacional de Cinema. Tem como objetivos articular a disciplina de TIC com as vertentes culturais do PNC, aproveitando a animação simples como forma de introdução à programação e pensamento computacional através do desenvolvimento de pequenos algoritmos.
Vamos Programar uma Animação?
Um desafio: vamos criar um programa que imite no telemóvel o tipo de animação do Taumatrópio?
Neste vídeo, descobres como usar o Pocket Code para criar uma pequena animação. Vais necessitar de:
Ter instalado o Pocket Code no teu telemóvel ou tablet;
Criar um cenário (no exemplo, em branco, mas podes usar as cores que quiseres);
Criar uma personagem, quer seja desenhada por ti, ou importada da biblioteca do Pocket Code. Atenção: a personagem terá de ter pelo menos dois trajes.
Código da animação:
Aqui, podes visualizar os blocos que necessitas para criar esta animação.
O código é muito simples. Precisas de um ciclo Forever (Repete para Sempre), um bloco Próxima Aparência, e um bloco Aguarda ... Segundos.
Experimenta diferentes valores para o tempo, para que a tua animação corra mais depressa ou mais devagar.
O que é um Taumatrópio?
O que é um taumatrópio? Este antigo brinquedo óptico vem dos primórdios da animação e do cinema. Ao ser rodado, provoca no nosso olhar a impressão que duas figuras distintas se estão a mover.
Queres aprender a construir um Taumatrópio?
É muito fácil. Precisas de uma cartolina recortada num círculo, elásticos, materiais riscadores para desenhar e pintar personagens, e de um furador para criar orifícios para inserir os elásticos. É muito simples construir um dos mais antigos dispositivos de animação. Os professores de Educação Visual podem ajudar-te!
Neste vídeo, podes descobrir um pouco mais sobre este instrumento, e ver como o construir.
Como parte da programação do Fórum Fantástico 2021, as crianças podem descobrir como programar nos seus telemóveis, usando um ambiente de programação por blocos especialmente desenvolvido para estas idades e tipos de dispositivo.
A sessão é gratuita e irá decorrer no Espaço Juvenil da Biblioteca Municipal Orlando Morais, Telheiras, dia 9 de outubro pelas 17:30.
Programámos uma sessão simples, acessível a crianças que não tenham conhecimentos prévios de programação ou se estejam a iniciar. O desafio é o de criar uma pequena animação, programando elementos gráficos no telemóvel, usando a linguagem de programação Pocket Code.
Devido às condicionantes pandémicas, a participação nesta sessão será restrita a até cinco crianças.
A sessão será desenvolvida no ambiente de programação Pocket Code (https://share.catrob.at/app/). Este pode ser instalado em dispositivos Android aqui: https://play.google.com/store/apps/details?id=org.catrobat.catroid. Para iOS ou Huawei, verifique site. No entanto, dispomos de equipamentos para a sessão, que serão devidamente higienizados. De acordo com as regras DGS para sala de aula, solicitamos o uso de máscara e material de higienização por parte dos participantes.
Terminou ontem um dos desafios deste ano: as Curtas Lab Aberto. 30 minutos mensais sobre uma tecnologia/aplicação, desafiando a explorar as suas potencialidades na educação. A iniciativa partiu do plano de atividades do Lab Aberto Fablab, com o qual colaboramos, com o objetivo de divulgar o fablab e suas atividades, e explorar de forma introdutória tecnologias com potencial na educação.
A lista completa passa por diferentes formas de usar ferramentas digitais na educação, com foco no fazer e na criatividade:
A lista de reprodução, que esperamos que cresça, inclui um webinar colaborativo entre a Mauser e o Lab Aberto sobre Introdução ao Arduino.
O mais desafiantes destas curtas, é serem... curtas, obriga a uma enorme disciplina e foco no mais essencial. Esperamos que a ideia tenha pegado, seria muito interessante que a equipa pluridisciplinar do Lab Aberto criasse mais momentos destes, curtos, para despertar para o potencial da cultura Maker na Educação. Em Setembro, veremos se se poderá dar continuidade a este projeto do Lab Aberto.
Os alunos de TIC evoluem no desenvolvimento dos seus projetos finais. Cada um tem o desafio, livremente, escolher uma tecnologia e um tema para desenvolver algo. A diversidade é enorme, de modelos 3D, algoritmos de jogo ou narrativas, inteligência artificial, ou trabalhos de pesquisa. O objetivo é que cada um se aproprie da tecnologia nos seus termos pessoais, sem imposições, seguindo o seu coração.
Já sabemos que podemos controlar os movimentos dos atores no Pocket Code com os vários blocos de movimento, e que o bloco Planar permite que se alterem os valores do tempo, e das coordenadas. Agora, vamos aprender a mover atores nos programas desenvolvidos no Pocket Code usando o toque no ecrã do telemóvel.
Aqui, são usadas as posições de toque para definir as coordenadas X e Y (coordenadas cartesianas) do ponto para onde queremos que se desloque o ator.
Sensores de Toque
Primeiro, vamos definir o movimento: usamos o bloco When Scene Starts para iniciar a ação, e um ciclo para sempre (Forever), dentro do qual vamos inserir o bloco Planar. Em seguida, tocamos nos valores de X ou de Y para editar a fórmula.
No editor de fórmulas, tocamos na opção Dispositivo para aceder aos sensores do telemóvel ou do tablet.
Em seguida, temos de selecionar os sensores de Deteção de Toque que se aplicarem ao projeto. Neste, usamos os sensores stage touch x para definir a coordenada X, e stage touch y para definir a coordenada y. Com isto, conseguimos que o nosso ator se mova quando tocarmos no ecrã, para o ponto onde o toque foi detetado.
Outros Sensores
Podes usar outros sensores que detetem valores de posicionamento X e Y. Por exemplo, os sensores de deteção de rosto detetam as coordenadas X e Y de um rosto detetado pela câmara.
Com este código, sempre que o telemóvel detetar um rosto, o personagem vai para as coordenadas dadas pela câmara. Ou seja, podes controlar um personagem com a tua cara.
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 e 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!