Tutorial produzido pelos integrantes do grupo “Neumann Tech” da Faculdade de Tecnologia da Unicamp Limeira
Assista também a video aula:
Imagens utilizadas na aula: https://drive.google.com/drive/folders/1eYFzwld-DjEEvij0piJ9tJQDmnTYyNN4?usp=sharing
1 – Para começar a atividade devemos acessar o site https://appinventor.mit.edu/ e clicar na opção “Create Apps!”, então será solicitado que realize o login, para isso deverá usar sua conta google e aceitar os termos da plataforma.

2 – Após efetuar o login será levado para esta tela, caso ache necessário poderá alterar o idioma do site para português do Brasil.

3 – Agora iremos iniciar o projeto, para isso clique em “Start New Project” e dê um nome a ele.

4 – Para começar iremos colocar um “Label” na tela, para isso devemos clicar em cima dela e arrastá-la para dentro do celular, e então renomeá-la para “digite uma letra”

5 – Depois adicionaremos uma “Text Box” para o usuário digitar o caractere desejado e adicionar uma mensagem que será apresentada caso cliquem sobre a caixa de texto, que será: ”Apenas letras”.

6 – Agora devemos adicionar um “Button” para que o sistema receba o caractere digitado pelo usuário e alterar o nome do botão para um nome mais intuitivo.

7 – Agora teremos uma “Label” que irá representar o progresso do jogador, a qual iremos renomear para progresso utilizando a aba “components”.

8 – Agora mais duas “Labels” para mostrar as chances que ainda restam para o jogador tentar adivinhar, na primeira devemos alterar o “Text” na aba “Properties” para “chances restantes” e na segunda devemos colocar o número total de tentativas. Depois repetiremos aquele processo de renomear a “Label” utilizando a aba “Components”, iremos renomear para ”chancesRestantes”.

9 – Agora iremos adicionar uma imagem à tela.

10 – Agora iremos adicionar dois “Notifier” que irá mostrar se o jogador digitou uma opção certa ou errada.

11 – Adicione as imagens da forca e de cada uma das partes do boneco.

12 – Adicione dois layouts horizontais e ajuste sua largura.

12.1 – Mova a label “Digite uma letra” e a caixa de texto para dentro do primeiro layout horizontal, e as labels “Chances restantes” e “Text fo Label4” para dentro do segundo layout.

12.2 – Ao final desta operação teremos algo assim.

13 – Ajustar o tamanho da imagem para 275 pixels de altura e preenchimento máximo de largura.


14 – Apague o texto do “Text for Label2”.

15 – Alterar o texto dentro da “Label4” para o número 6.

16 – Selecionar a imagem da forca vazia.

17 – Renomear o item “image1” para “imagemForca”, e depois repetir o processo para “HorizontalArrangement1” colocando “blocoDescreveLetra”, “TextBox1” por “escreveLetra”, “Button1” por “enviar”, “Label2 ”para “progresso”, “HorizontalArrangement2” por “blocoTentativas”, “Label4” por “chancesRestantes”, “Notifer1” por “notificaSobreLetra”, “Notifer2” por “reinicia o jogo”.

18 – Agora iremos acessar a aba “Blocks”, localizada com canto superior direito, para fazer a codificação em blocos do aplicativo.

19 – Agora vamos criar uma variável para armazenar uma lista de palavras, permitindo assim uma boa diversidade de palavras para o jogo. Para isso vamos selecionar a opção “Variables” e escolher a primeira opção e mudar “name” para “palavras”.

20 – Agora faremos uma lista, para isso devemos selecionar a opção “List” e escolher a segunda opção.

21 – Agora vamos adicionar algumas palavras à nossa lista, para isso devemos selecionar a opção “Text”, escolher a primeira peça oferecida e então digitar as palavras desejadas dentro do espaço em branco da peça, no exemplo foram escolhidas as palavras “arara” e “carro”.

22 – Caso queira acrescentar mais opções basta clicar na engrenagem presente na peça azul (make a list), clicar em “item” e arrastá-lo para “list” dentro desse mesmo menu azul. Repare que mais um espaço para encaixar uma peça de texto foi adicionado ao final deste processo.

23 – Agora faremos uma variável que irá representar a palavra que será usada na partida, iniciando uma nova variável e adicionando uma caixa de texto vazia já que ainda não sabemos qual será a palavra correta nomeada como ”palavra”. Também adicionamos uma variável para representar o número de chances que o jogador ainda possui chamada “chancesRestantes”. Selecionando a opção “Math” e escolhendo a primeira peça, digite o número de tentativas que o jogador vai possuir (6).

24 – Agora faremos uma variável para descobrir as letras corretas que o jogador descobriu até então, ela será semelhante à variável utilizada para o número de chances restantes, porém, seu número será 0 e o nome deve ser correspondente a sua nova função.

25 – Agora faremos um procedimento que será utilizado muitas vezes durante a nossa aplicação, tanto para quando abrirmos a tela pela primeira vez quanto para caso seja preciso reiniciar o jogo ou encerrá-lo. Para isso, devemos acessar a opção “Procedures”, selecionar a primeira peça da lista e nomeá-la como “novaPalavra”.

26 – Neste passo definiremos o que o procedimento fará, que no caso é escolher uma palavra aleatória para a partida, para que isso aconteça devemos posicionar o cursor do mouse acima da variável “palavra”, isso irá abrir duas opções, devemos escolher a segunda (set) e arrastá-la para dentro da nossa procedure.

27 – Para garantir que um item aleatório seja escolhido devemos adicionar a peça “pick a random list block” e adicioná-la ao nosso procedimento também.

28 – A fim de completar a função anterior iremos repetir o processo realizado no começo da nossa procedure, só que dessa vez com a nossa variável de lista, e escolhendo a segunda opção (get).

28.1 – Clicar no componente “imagemForca” e pegar o bloco “set imagemForca Picture to forcaVazia.png”. Repita o processo para o componente “escreveLetra” pegando o bloco “set escreveLetra Text to”, e para “progresso” pegando “set progresso Text to”.


29 – Agora faremos um ciclo de repetição para garantir que o número de sublinhas seja correspondente ao de letras da palavra selecionada na partida. Para isso devemos acessar a opção “Control” escolher a peça “for each number from, to, by” a quarta da lista.

30 – Já neste passo iremos corrigir um detalhe da função anterior, como algumas palavras irão possuir quantidades diferentes de letras, devemos substituir o segundo número pela peça “length” presente no menu “Text”.

31 – Agora iremos completar o “length” com um “get” da nossa variável palavra


32 – Na sequência, deve-se clicar na “label” progresso e selecionar a opção ”set progresso Text to” e movê-lo para o “do” do nosso ciclo de repetição.

33 – Agora iremos adicionar uma função que irá manter as sublinhas mesmo após a letra ser revelada, utilizando o bloco “Join”.

34 – Na sequência iremos clicar na “label” novamente e adicionar um “progresso Text” e um bloco “text” e inserir um sublinha nela “_” .

35 – Mudaremos para a função que trabalha com as letras reveladas, primeiro devemos pegar o “set” de “letrasReveladas” e inserir abaixo do bloco do ciclo de repetição.

36 – E adicionar um bloco “math” com valor 0.

37 – Para o próximo bloco devemos redefinir as chances para 6 novamente já que estaremos tratando de uma nova palavra.

38 – Agora vamos modificar a label “chancesRestantes” repetindo o processo de utilizar blocos diretamente ligados a ela adicionando um bloco “get chancesRestantes”.

39 – Terminamos o procedimento, no entanto, precisamos garantir que que ele será utilizado quando for a hora, para isso devemos clicar na “Screen1” e utilizar a terceira peça “when Screen1 Initialize do”.

40 – Na sequência, devemos adicionar o bloco “call”, presente na opção “Procedures” e nomeá-lo de “novaPalavra”

41 – Em paralelo trabalharemos também com os eventos relacionados ao botão.

42 – Cuidado para não escolher o bloco de variável errado, o primeiro é o correto, e deve renomeá-lo para “alerta” para evitar confusão.

43 – Agora iremos adicionar dois blocos para garantir que tudo está sob controle.

44 – Agora vamos adicionar mais blocos da aba “Text” para conferir se a caixa de texto contém aquela determinada letra.

45 – Adicione blocos de texto relacionados a “processo” e “escreveLetra”.

45.1 – Adicione um “set alerta” junto a uma caixa de texto com a mensagem de que o jogador digitou uma letra repetida.

46 – Clique na engrenagem do “if” e adicione um “elseIf” ao bloco para expandir sua função.

47 – Agora precisamos verificar se as letras da palavra sorteada conferem com alguma das letras que o jogador inseriu. Para isso vamos adicionar um “contains” presente na aba Text, e conectar um “get global palavra” no seu primeiro espaço e um “escreveLetra Text” no segundo.

48 – Verifica toda a palavra e apresenta qual posição de cada letra.

49 – Verificar se a letra digitada coincide com cada letra da palavra sorteada.



50 – Adicionar um segmento presente em “Text”.

51 – Adicionar um “get” relacionado a variável “palavra” e um a “number”, e por fim, um bloco “Math” representando o número 1.

52 – Manter as sublinhas das letras que ainda não foram encontradas.




52.1 – . Neste trecho o bloco utilizado deve ser “escreveLetra Text”.

53 – Atualizar a variável de “letrasReveladas”.


54 – Atualize a variável “alerta” e adicionar um bloco de texto informando que a letra está na palavra.

55 – Agora iremos adicionar mais um “else”, para o caso da letra não estar presente na palavra.




55 – Preparar o sistema para quando o jogador fica sem tentativas.





57 – Verificar se o jogador acertou a palavra.



58 – Reiniciar a tela caso o jogador acerte a palavra ou fique sem opções.



58.1 – Crie duas variáveis, uma chamada “escolhaSim” e outra “escolhaNao”, ambos ligados a um bloco de texto com suas respectivas mensagens.

58.2 – Adicione os “gets” das duas novas variáveis.




58.3 – Adicione um “else if” caso o jogador escolha “não”.

58.4 – Adicione um “close application” que está na aba “Control”.

58.5 – Altere o último bloco para “false”.

59 – Verificar se o jogador perdeu.




60 – Ajustar o notificar sobre letra.


61 – Testar o aplicativo, baixe o aplicativo do App Inventor na Play Store.

61.1 – Utilize a opção “scan QR code”.

62.2 – . No seu computador clique em “Connect”, depois “Ai Companion”, e por fim, faça o scan do QR Code que aparecer no monitor com a câmera do seu celular.

