NEW
Font size
WorksheetsDescritores de Pensamento Computacional
Total questions: 9
Worksheet time: 45mins
Movimento da raquete
Luciano está planejando desenvolver um jogo de pingue-pongue e deseja que a raquete se mova verticalmente (para cima e para baixo) sempre que a pessoa jogadora pressionar as teclas de seta para cima ou para baixo. Entretanto, na execução do código a seguir, a movimentação na vertical não está ocorrendo. Qual é o erro que está ocorrendo neste caso?
O comando das teclas está invertido: primeiro, devemos colocar a seta para baixo e, em seguida, a seta para cima.
Para movimentar a seta para cima, utilizamos o bloco adicionar -10 a x e, para movimentar para baixo, utilizamos o bloco adicionar 10 a x.
Ao invés de utilizar a coordenada cartesiana X, devemos utilizar a coordenada Y, pois ela é responsável por realizar deslocamentos na vertical.
Ajude um robô
Sara quer desenvolver um projeto no qual seu robô explore uma fábrica abando- nada e enfrente obstáculos, como paredes quebradas e caixas empilhadas. O robô de Sara precisa desviar desses obstáculos para continuar avançando. Apesar de ser habilidoso, sempre que o robô bate em uma parede, ele fica parado. Ordene todos os blocos a seguir e ajude o robô de Sara a navegar pela fábrica sem parar quando bater nos obstáculos!
quando bandeira verde for clicada;
sempre;
mova 10 passos;
se tocar na
borda;
volte;
quando bandeira verde for clicada;
volte;
sempre;
mova 10 passos;
se tocar na
borda;
quando bandeira verde for clicada;
volte;
se tocar na
borda;
sempre;
mova 10 passos;
Coletando minérios
João Miguel está criando um jogo no Scratch e deseja programar seu personagem para: Mover-se verticalmente na tela, subindo quando a seta para cima for pressionada e descendo quando a seta para baixo for pressionada; Simular a coleta de minérios utilizando as mesmas teclas de movimentação. Como ele pode montar esse código? Ordene todos os blocos a seguir para executar essas ações.
quando bandeira verde for clicada;
sempre; adicionar 10 a y;
se a seta para cima estiver pressionada;
se a seta para baixo estiver pressionada; adicionar -10 a y
adicionar -10 a y;
quando bandeira verde for clicada;
sempre; adicionar 10 a y;
se a seta para cima estiver pressionada;
se a seta para baixo estiver pressionada;
quando bandeira verde for clicada;
sempre;
se a seta para cima estiver pressionada;
adicionar 10 a y;
se a seta para baixo estiver pressionada; adicionar -10 a y
Sintaxe do IF
Usamos as condicionais para realizar uma verificação de algum aspecto do código e executar uma ação. Qual é a sintaxe correta para escrevermos uma condicional, em programação na linguagem JavaScript, a fim de verificar se a posição da bolinha no eixo x é maior que a largura da tela?
if Bolinha > width. { }
if Bolinha =* width. { }
if (xBolinha > width) { }
if {xBolinha > width}
Pong Robloxiano
Você é uma das pessoas desenvolvedoras do jogo Roblox e decidiu criar um minigame chamado Pong Robloxiano. Sua tarefa é fazer que:
- A tela do jogo tenha um fundo preto;
- A bolinha do jogo inicie nas posições x e y iguais a 200.
Ordene todos os blocos para criar uma bolinha com variáveis que precisam ser
modificadas no futuro.
let xBolinha = 200; let yBolinha = 200; |function draw() { |background(0);
circle(xBolinha, yBolinha, 100); }
circle(xBolinha, yBolinha, 100);
let xBolinha = 200; let yBolinha = 200; |function draw() { |background(0);
}
circle(xBolinha, yBolinha, 100); }
let xBolinha = 200; let yBolinha = 200; |function draw() { |background(0);
Colisão das bordas
Observe este código que desenha e move uma bolinha na tela: Agora, queremos que a bolinha evite tocar nas bordas da tela, ou seja, ela precisa quicar nas bordas e alterar a direção do movimento. Para isso, ordene todos os blocos para realizar a colisão para o eixo x e, depois, para o eixo y:
if(xBolinha < 0 || xBolinha > 400) { }| velocidadeXBolinha *= -1; } | if(yBolinha <
0 || yBolinha > 300) { | velocidadeYBolinha *= -1;
if(xBolinha < 0 || xBolinha > 400) { | velocidadeXBolinha *= -1; } | if(yBolinha <
0 || yBolinha > 400) { | velocidadeYBolinha *= -1; }
if(yBolinha <
0 || yBolinha > 300) { | velocidadeYBolinha *= -1;}if(xBolinha < 0 || xBolinha > 300) { | velocidadeXBolinha *= -1; } |
Sem alterar o comportamento do jogo, movemos alguns códigos da função draw
para funções que criamos:
- function mostraBolinha()
- function movimentaBolinha()
- function verificaColisaoBorda()
Sabendo disso, podemos definir que função é:
Um conjunto de comandos ou códigos que realiza uma tarefa específica.
A união de vários códigos aleatórios, com comportamentos diferentes em
um único lugar, visando tornar o código mais legível.
Um conceito que está relacionado com a ideia de classificar e abstrair coisas.
Meteoros na galáxia
Amanda deseja desenvolver um jogo inspirado em Star Wars e planeja incluir um
meteoro que flutua pela galáxia, pronto para colidir com um planeta. Assim, orde-
ne todos os blocos abaixo e ajude Amanda a criar a função necessária para realizar a colisão X entre o meteoro e a galáxia.
function verificaColisaoXGalaxia() { | if (xMeteoro + raio > width || xMeteoro -
raio < 0) { | velocidadeXMeteoro *= -1; } | }
function }
verificaColisaoXGalaxia() { | if (xMeteoro + raio > width || xMeteoro -
raio < 0) { | velocidadeXMeteoro *= -1; } |
verificaColisaoXGalaxia() { | if (xMeteoro + raio > width || xMeteoro -
raio < 0) { | velocidadeXMeteoro *= -1; } | function }
Clicando em likes
Na rede social de jogos, você recebeu uma solicitação para criar um recurso especial para o jogo Pong: a velocidade das bolinhas deve aumentar conforme o número de curtidas recebidas pelo jogador.
Ordene todos os blocos abaixo para criar uma função que aumente a velocidade
das bolinhas conforme o número de curtidas.
function aumentaVelocidadePorCurtidas() { | let fatorAumento = likes * 0.1; |
velocidadeXBolinha += fatorAumento; | velocidadeYBolinha += fatorAumento; }
velocidadeYBolinha += fatorAumento; }
function aumentaVelocidadePorCurtidas() { | let fatorAumento = likes * 0.1; |velocidadeXBolinha += fatorAumento; |
velocidadeYBolinha += fatorAumento; }
aumentaVelocidadePorCurtidas() { | let fatorAumento = likes * 0.1; |velocidadeXBolinha += fatorAumento; | function
