Informática, perguntado por Augustoanjos2003, 3 meses atrás

No jogo infantil Pedra-Papel-Tesoura, os jogadores escolhem simultaneamente um membro do conjunto { TESOURA, PAPEL, PEDRA }, indicando suas escolhas com sinais de mão: se as duas escolhas forem iguais, o jogo recomeça; se as escolhas diferirem, um jogador vence, conforme a seguinte relação:

· Pedra vence Tesoura;

· Papel vence Pedra;

· Tesoura vence Papel.

Escreva um programa em C que implemente esse jogo.

O programa terá dois jogadores (1 e 2) e uma letra ou número para representar as escolhas. Caberá ao aluno definir como deseja representá-las; seguem algumas sugestões:

· 'P' ou 1 para Pedra;

· 'A' ou 2 para Papel;

· 'T' ou 3 para Tesoura;

Em um laço de repetição, faça a leitura da jogada de ambos. Se o valor digitado for inválido, faça o jogador digitar novamente o valor.

Depois dos dois jogadores terem jogado, verifique se houve vencedor ou empate:

· Se os valores digitados forem iguais, escreva: “Empate”;

· Se o valor do Jogador 1 venceu, escreva: “JOGADOR 1 venceu esta rodada”;

· Se o valor do Jogador 2 venceu, escreva: “JOGADOR 2 venceu esta rodada”.

Faça com que esse laço de repetição seja executado por 10 vezes. Após a execução do laço, mostre quantas vezes ganhou cada jogador.

Soluções para a tarefa

Respondido por Usuário anônimo
13

Resposta:

#include <math.h>

#include <setjmp.h>

#include <time.h>

#include <stdio.h>

int main(void) {

   int jogador1 = 0, jogada1;

   int jogador2 = 0, jogada2;

   int i;

   for (i = 1; i <= 10; i++) {

       do {

           printf("Jogada 1 (1=Pedra, 2=Papel, 3=Tesoura): ");

           scanf("%d", &jogada1);

       } while (jogada1 < 1 || jogada1 > 3);

       do {

           printf("Jogada 2 (1=Pedra, 2=Papel, 3=Tesoura): ");

           scanf("%d", &jogada2);

       } while (jogada2 < 1 || jogada2 > 3);

       if (jogada1 == jogada2)

           printf("Empate\n\n");

       else if (jogada1 == 1 && jogada2 == 3 ||

                jogada1 == 2 && jogada2 == 1 ||

                jogada1 == 3 && jogada2 == 2) {

           printf("JOGADOR 1 venceu esta rodada\n\n");

           jogador1++;

       } else {

           printf("JOGADOR 2 venceu esta rodada\n\n");

           jogador2++;

       }

   }

   printf("JOGADOR 1 ganhou %d vezes\n", jogador1);

   printf("JOGADOR 2 ganhou %d vezes\n", jogador2);

   return 0;

}

Explicação:


Marlon33: Valeu.
Perguntas interessantes