top of page

JOGO DA FORCA EM C COM DEV C++

  • Gustavo Ferreira
  • 18 de fev. de 2015
  • 3 min de leitura

Olá, o nosso primeiro tutorial será desenvolver um jogo da forca utilizando a linguagem C e a interface do DEV C++.

A lógica é simples, teremos que criar uma função de testes, a mesma irá verificar se a variável 'LETRA' está dentro do array 'PALAVRA', caso esteja, a variável 'LETRA' irá aparecer onde a mesma está alocada no array 'PALAVRA', caso não esteja, o programa irá mostrar ao usuário que a variável 'LETRA' não está na palavra. Simples não!? Vamos botar a mão na massa.


Primeiro, vamos importar as bibliotecas utilizadas no nosso código.



Quase todas as funções que iremos usar, já existem, e estão armazenadas dentro destas bibliotecas. Mas também podemos criar as nossas próprias bibliotecas com as nossas próprias funções.Existe mais de uma forma para criar o código, vou colocar as funções juntamente dentro da main(), mas podemos criar as funções antes da main().

O que temos que fazer agora é declarar as variáveis que iremos usar. Primeiro, declaramos um vetor para armazenar a palavra digitada pelo player 1 e deverá ser adivinhada pelo player 2. Vamos também criar as lacunas utilizando o caractere "-" para as letras que ainda não foram acertadas, outro vetor para armazenar as letras digitadas.


Agora, vamos criar as demais variáveis que iremos utilizar, a variável que vai determinar quantas vidas/chances o player 2 terá para acertar a palavra, a variável que vai retornar 1 ou 0, dependendo da letra digitada, a variável dos pontos, um vetor dos erros, um contador para o vetor palavra[] e outro contador para o vetor erros.


Agora já temos todas as variáveis que iremos utilizar, vamos começar a escrever a lógica do código. Vamos usar a função printf() para enviar uma mensagem ao Player 1, onde o mesmo deverá digitar a palavra para o Player 2 adivinhar. Seguido da função gets() para armazenar essa palavra no vetor palavra[];

A função system("cls") serve para limparmos o console após o Player 1 digitar a palavra. Agora iremos criar o laço que fará os testes para verificar se a letra digitada pelo Player 2 está no vetor palavra[].

A função strlen() recebe um ponteiro que indica uma string e retorna quantos caracteres essa string possui, e é ela a responsável pelos testes. Vamos igualar a variável 'tam' do mesmo tamanho da strlen(palavra), para que os testes terminem somente quando a ultima letra for testada, e enquanto todas as letras não forem acertadas.

Agora iremos criar um laço while, que será controlado pelo número de vidas que resta para o Player 2, enquanto ela for maior que 0, o laço continua. Em seguida, vamos usar novamente a função printf() para mandar 3 mensagens ao usuario. A primeira irá printar o vetor lacuna[], a segunda irá pedir para que o Player 2 digite uma letra. A terceira irá informar as letras digitadas que não estão no vetor palavra[]. Vamos também zerar a variável 'retorno', no qual iremos utilizar mais a frente. Nosso código ficará assim:

Feito isso, vamos criar o laço que verifica se a letra digitada pelo usuário está no vetor palavra[].

Para quem não entendeu, o que fizemos aqui foi comparar a letra digitada pelo usuário, com todas as letras dentro do vetor palavra[], se a letra form a mesma, irá se encaixar no lugar que ela está no vetor lacuna[], e aumentamos o valor de retorna, para que ele não caia no próximo laço que iremos fazer.

Com isto feito, vamos criar os if's que irão computar os erros.

Lembra da variável 'retorna'? Esse if só irá ser realizado, caso o Player 2 erre a letra. Caso isso aconteça, a variável 'vida' irá diminuir, e se for igual a 0, o programa para e você perde o jogo. Caso você ainda tenha vidas, você perde uma, e a letra digitada vai para o vetor erros[].

Agora só nos falta criar a condição caso o usuario acerte a letra.

Se as letras acertadas forem do mesmo tamanho da variavel 'tam' quer dizer que voce acertou e ganhou o jogo, se não, você acertou uma letra e o jogo continua.

E é isso, bem fácil não? Nosso código completo fica assim:

Qualquer dúvida é só comentar no post que assim que possível eu irei responder. Se curtiu, compartilhe com os amigos!

 
 
 

Comments


Destaques
Últimos posts
Arquivos
#Hashtags

© 2023 por Nome do Site. Orgulhosamente criado com Wix.com

bottom of page