Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdlib.h"
- #include "stdio.h"
- #include <cstring> // Essas são as bibliotecas utilizadas na construção do algoritmo.
- #include "time.h"
- main(){
- while(1){
- int a = 0;
- // As palavras pré-determinadas do jogo da forca, que são 100 no total, podem ter até 30 caracteres em sua constituição.
- // Tambem temos as variáveis que serão utilizaddas dentro do LOOP, que serão referencias para que o jogo funcione plenamente.
- do{
- system("cls");
- printf("JOGO DA FORCA\n");
- printf("1: Jogar\n");
- printf("2: Sair\n"); // Esse é o meno do jogo, em que serão dispostas as opções de jogar e sair, determinadas pelos inteiros 1 e 2.
- printf("OPCAO: ");
- scanf("%d", &a);
- system("pause > null");
- switch(a){
- case 1:
- int achou = 1; // achou = 1, para que o jogo seja executado, pois em C++ 0 é falso. O "n" tambem servirá para sair do jogo sem fechar o programa
- while(achou)
- {
- system("cls");
- char palavra[100][30] = {
- "margarida",
- "caderno",
- "bolsa",
- "celular",
- "tartaruga",
- "origami",
- "papel",
- "formiga",
- "espelho",
- "computador",
- "programar",
- "tomada",
- "televisao",
- "sacola",
- "documento",
- "carteira",
- "dinheiro",
- "macaco",
- "girafa",
- "paralelepipedo",
- "apostolo",
- "numero",
- "matematica",
- "geografia",
- "historia",
- "portugues",
- "caneta",
- "abacaxi",
- "planta",
- "sofa",
- "controle",
- "carencia",
- "ceramica",
- "garfo",
- "colher",
- "prato",
- "macarrao",
- "arroz",
- "cachorro",
- "gato",
- "oculos",
- "debate",
- "matricula",
- "volume",
- "chave",
- "vestido",
- "delator",
- "apartamento",
- "empreiteira",
- "corrupcao",
- "propina",
- "refinaria",
- "aplicativo",
- "estudo",
- "cidade",
- "memoravel",
- "reportagem",
- "construtora",
- "instrumento",
- "reporter",
- "tecnologia",
- "capitalismo",
- "novidade",
- "encrenca",
- "epigrafe",
- "redacao",
- "geometria",
- "trigonometria",
- "ministro",
- "deputado",
- "senador",
- "cascavel",
- "uruguai",
- "portugal",
- "alemanha",
- "argentina",
- "salvador",
- "travamento",
- "banqueiro",
- "triangulo",
- "violao",
- "empresa",
- "terceirizada",
- "generalizacao",
- "competitivo",
- "desempenho",
- "preconceito",
- "elegante",
- "leitor",
- "projeto",
- "emagrecedor",
- "academia",
- "esteira",
- "balanceamento",
- "racionamento",
- "lasanha",
- "videogame",
- "faculdade",
- "churrasco",
- "refrigerante",
- "cajado"
- };
- printf("\nAs letras devem ser minusculas");
- printf("Boa sorte! Vc tem 6 chances! Aperte qualquer tecla para continuar\n");
- system("pause > null");
- int numero_palavra = 0, chances = 6, contador, tamanho = 0, resultado, acertos = 0, b = 0, contador2 = 0, aux = 0;
- srand(time(NULL));
- numero_palavra = rand()%100;
- tamanho = strlen(palavra[numero_palavra]);
- char palavra_atual[tamanho], letras_usadas[30] = {0};
- strcpy(palavra_atual, palavra[numero_palavra]);
- char letra_jogador[100] = {0};
- char vetor_palavra[tamanho];
- for(int i; i<tamanho; i++);
- vetor_palavra[i] = '_';
- while(chances > 0){
- condicional_volta:
- system("cls");
- printf("Voce tem %d chances", chances);
- for(int i; i<tamanho; i++)
- printf("%c", vetor_palavra[i]);
- printf("\nletras usadas: ");
- for(int local = 0; local<contador2; local++){
- if(letras_usadas[local] == '\0'){
- letras_usadas[local] = letra_jogador[0];
- }
- printf("%c", letras_usadas[local]);
- }
- do{
- printf("\n Digite uma letra: ");
- scanf("%s", letra_jogador);
- for(int local = 0; local <= contador2; local++){
- if(letras_usadas[local] == letra_jogador[0]){
- printf("\n letra repetida");
- system("pause > null");
- goto condicional_volta;
- }
- }
- }while(letra_jogador[0] < 'A' || letra_usuario[0] > 'Z');
- resultado = 0;
- contador2++;
- for(int numero = 0; numero<tamanho; numero++){
- contador = 0;
- if(palavra_atual[numero] == letra_jogador[0]){
- vetor_palavra[numero] = letra_jogador[0];
- resultado = contador + 1;
- acertos++
- }
- }
- if(resultado == 0)
- chances--;
- if(acertos == tamanho){
- for(int i = 0;i<tamanho;i++)
- printf("%c", vetor_palavra[i]);
- printf("\n\nVOCE venceu! Aperte qualquer tecla para continuar");
- system("pause > null");
- do{
- printf("\nO que quer fazer agora?");
- printf("\n1 - Jogar novamente\n");
- printf("2 - Voltar ao menu principal\n");
- printf("3 - Sair do programa\n\n");
- printf("Opcao: ");
- scanf("%d", &b);
- }while(b != 3);
- switch(b){
- case 1:{
- chances = 0;
- aux = 1;
- printf("\nAperte qualquer tecla para reiniciar o jogo da forca");
- system("pause > null");
- break;
- }
- case 2:{
- chances = 0;
- n = 0;
- aux = 1;
- printf("\nAperte qualquer tecla para voltar ao menu principal");
- system("pause > null");
- break;
- }
- case 3:{
- return 0;
- break;
- }
- }
- }
- }
- if(auxiliar == 0){
- printf("\n\nVoce perdeu! A palavra era: ");
- for (int i = 0; i < tamanho; i++)
- printf("%c", palavra_atual[i]);
- do{
- printf("\n\nO que deseja fazer agora?");
- printf("\n1 - Jogar novamente\n");
- printf("2 - Voltar ao menu principal\n");
- printf("3 - Sair do programa\n\n");
- printf("Opcao: ");
- scanf("%d", &b);
- }while(b != 3);
- switch(opcao_usuario_forca){
- case 1:{
- printf("\nAperte qualquer tecla para reiniciar o jogo");
- system("pause > null");
- break;
- }
- case 2:{
- n = 0; // Aqui a variável n tem sua utilidade de novo. O "while" será considerado falso, e o programa não repetirá o laço.
- printf("\nAperte qualquer tecla para voltar ao menu principal");
- system("pause > null");
- break;
- }
- case 3:{
- return 0;
- break;
- }
- }
- }
- }
- break;
- case 2:{
- return 0;
- break;
- }
- }while(a!=2);
- system("pause");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement