Você irá implementar o jogo Pedra-Papel-Tesoura-Lagarto-Spock. O usuário digitará uma letra
representando sua jogada e o computador sorteará uma jogada. Ambas serão exibidas na tela
e seguidas de uma mensagem informando se o jogador venceu, empatou ou perdeu. Você
deverá entregar o código-fonte com o programa funcionando. Perguntas teóricas podem ser
respondidas como comentários antes do início do programa.
• Pedra esmaga o lagarto;
• Papel embrulha a pedra;
• Papel refuta o Spock;
• Tesoura corta o papel;
• Tesoura decapita o lagarto;
• Lagarto envenena o Spock;
• Lagarto come o papel;
• Spock vaporiza a pedra;
• Spock quebra a tesoura.
Para auxiliá-lo(a) nesta jornada, que envolverá bibliotecas e funções que você ainda não
conhece, siga o roteiro abaixo
#include
#include
#include
int main()
{
char computador, jogador;
int sorteio;
srand(time(NULL));
sorteio = rand() % 5;
printf("(R)ocha-(P)apel-(T)esoura-(L)agarto-(S)pock\n");
printf("Digite a sua jogada: ");
jogador = getchar();
getchar();
return 0;
Soluções para a tarefa
Resposta:
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
Você irá implementar o jogo Pedra-Papel-Tesoura-Lagarto-Spock. O usuário digitará uma letra
representando sua jogada e o computador sorteará uma jogada. Ambas serão exibidas na tela
e seguidas de uma mensagem informando se o jogador venceu, empatou ou perdeu. Você
deverá entregar o código-fonte com o programa funcionando. Perguntas teóricas podem ser
respondidas como comentários antes do início do programa.
• Pedra VENCE o lagarto;
• Papel VENCE a pedra;
• Papel VENCE o Spock;
• Tesoura VENCE o papel;
• Tesoura VENCE o lagarto;
• Lagarto VENCE o Spock;
• Lagarto VENCE o papel;
• Spock VENCE a pedra;
• Spock VENCE a tesoura.
*/
int main(){
int escolha_jogador, escolha_computador;
char resposta[4];
do{
//jogador
printf("-------------------------------\n");
printf("1 - PEDRA\n2 - PAPEL\n3 - TESOURA\n4 - LAGARTO\n5 - SPOCK\n");
printf("-------------------------------\n");
printf("Escolha uma opcao: ");
scanf("%d", &escolha_jogador);
printf("-------------------------------\n");
switch(escolha_jogador){
case 1:
printf("\nVoce escolheu: PEDRA\n");
break;
case 2:
printf("\nVoce escolheu: PAPEL\n");
break;
case 3:
printf("\nVoce escolheu: TESOURA\n");
break;
case 4:
printf("\nVoce escolheu: LAGARTO\n");
break;
case 5:
printf("\nVoce escolheu: SPOCK\n");
break;
default:
printf("\nOpcao invalida!\n");
break;
}
//computador
srand(time(NULL));
escolha_computador=("%d", rand() % 5+1);
switch(escolha_computador){
case 1:
printf("O computador escolheu: PEDRA\n");
break;
case 2:
printf("O computador escolheu: PAPEL\n");
break;
case 3:
printf("O computador escolheu: TESOURA\n");
break;
case 4:
printf("O computador escolheu: LAGARTO\n");
break;
case 5:
printf("O computador escolheu: SPOCK\n");
break;
}
/*
resultado:
• Pedra VENCE o lagarto;
• Pedra VENCE a tesoura;
• Papel VENCE a pedra;
• Papel VENCE o Spock;
• Tesoura VENCE o papel;
• Tesoura VENCE o lagarto;
• Lagarto VENCE o Spock;
• Lagarto VENCE o papel;
• Spock VENCE a pedra;
• Spock VENCE a tesoura.
*/
if(escolha_jogador == escolha_computador){
printf("\nEMPATE!\n");
}
else if(
(escolha_jogador == 1 && escolha_computador == 3) ||
(escolha_jogador == 1 && escolha_computador == 4) ||
(escolha_jogador == 2 && escolha_computador == 1) ||
(escolha_jogador == 2 && escolha_computador == 5) ||
(escolha_jogador == 3 && escolha_computador == 4) ||
(escolha_jogador == 3 && escolha_computador == 2) ||
(escolha_jogador == 4 && escolha_computador == 5) ||
(escolha_jogador == 4 && escolha_computador == 3) ||
(escolha_jogador == 5 && escolha_computador == 1) ||
(escolha_jogador == 5 && escolha_computador == 3)
){
printf("\nVOCE VENCEU!\n");
}else{
printf("\nVOCE FOI DERROTADO!\n");
}
printf("-------------------------------\n");
printf("\nDeseja jogar novamente? <sim/nao>\n");
scanf("%s", &resposta);
system("cls");
}while(strcmp(resposta, "sim") == 0);
return 0;
}
Eu fiz com as opções de 1 a 5. Se ele realmente quiser que a escolha seja feita a partir das letras das opções me avise aqui que eu mudo o código.