0
respostas

O que falta para esse codigo realmente funcionar em C, acredito que a logica esteja certa

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int main()
{
char play = 's';
while(play != 'n'){
char computador, jogador;
int sorteio;
String resultadoDoJogo = jogador+computador;

srand(time(NULL));
sorteio = rand() % 5;
printf("Pe(d)ra-(P)apel-(T)esoura-(L)agarto-(S)pock\n");
printf("Digite a sua jogada: ");
jogador = getchar();
getchar();

while(jogador != 'd' && jogador != 'P' && jogador != 'T' && jogador != 'L' && jogador != 'S'){
printf("Digite a sua jogada: ");
jogador = getchar();
getchar();
}

switch (sorteio) {
case 0: computador = 'D';
break;
case 1: computador = 'p';
break;
case 2: computador = 't';
break;
case 3: computador = 'l';
break;
case 4: computador = 's';
break;
}

switch (jogador){
case 'd': printf("Você escolheu: Pedra");
break;
case 'P': printf("Você escolheu: Papel");
break;
case 'T': printf("Você escolheu: Tesoura");
break;
case 'L': printf("Você escolheu: Lagarto");
break;
case 'S': printf("Você escolheu: Spock");
break;
}

switch(computador){
case 'D': printf(" e o computador escolheu Pedra \n");
break;
case 'p': printf(" e o computador Papel \n");
break;
case 't': printf(" e o computador Tesoura \n");
break;
case 'l': printf(" e o computador Lagarto \n");
break;
case 's': printf(" e o computador Spock \n");
break;
}

//empates
switch (resultadoDoJogo) {
case "dD":{
printf("EMPATE");
break;
}
case "Pp":{
printf("EMPATE");
break;
}  case "Tt":{
printf("EMPATE");
break;
}  case "Ll":{
printf("EMPATE");
break;
}  case "Ss":{
printf("EMPATE");
break;
} 
}     

//vitorias
switch (resultadoDoJogo) {
case "dt":{
printf("Pedra quebra a tesoura \n");
printf("Jogador ganhou");
break;
}
case "dl":{
printf("Pedra esmaga o lagarto \n");
printf("Jogador ganhou");
break;
}  case "Pd":{
printf("Papel embrulha a pedra \n");
printf("Jogador ganhou");
break;
}  case "Ps":{
printf("Papel refuta o Spock \n");
printf("Jogador ganhou");
break;
}  case "Tp":{
printf("Tesoura corta o papel \n");
printf("Jogador ganhou");
break;
}
case "Tl":{
printf("Tesoura decapita o lagarto \n");
printf("Jogador ganhou");
break;
}
case "Ls":{
printf("Lagarto envenena o Spock \n");
printf("Jogador ganhou");
break;
}
case "Lp":{
printf("Lagarto come o papel \n");
printf("Jogador ganhou");
break;
}
case "SD":{
printf("Spock vaporiza a pedra \n");
printf("Jogador ganhou");
break;
}
case "St":{
printf("Spock quebra a tesoura \n");
printf("Jogador ganhou");
break;
}
}

// derrotas
switch (resultadoDoJogo) {
case "TD":{
printf("Pedra quebra a tesoura \n");
printf("Sheldon ganhou");
break;
}
case "LD":{
printf("Pedra esmaga o lagarto \n");
printf("Sheldon ganhou");
break;
} 
case "dp":{
printf("Papel embrulha a pedra \n");
printf("Sheldon ganhou");
break;
}  case "Sp":{
printf("Papel refuta o Spock \n");
printf("Sheldon ganhou");
break;
}  case 'Pt':{
printf("Tesoura corta o papel \n");
printf("Sheldon ganhou");
break;
}
case "Lt":{
printf("Tesoura decapita o lagarto \n");
printf("Sheldon ganhou");
break;
}
case "Sl":{
printf("Lagarto envenena o Spock \n");
printf("Sheldon ganhou");
break;
}
case "Pl":{
printf("Lagarto come o papel \n");
printf("Sheldon ganhou");
break;
}
case "ds":{
printf("Spock vaporiza a pedra \n");
printf("Sheldon ganhou");
break;
}
case "Ts":{
printf("Spock quebra a tesoura \n");
printf("Sheldon ganhou");
break;
}
}

printf("\nJogar de novo ? (s)im ou (n)ão\n");
play = getchar();
getchar();

while(play !='s' && play != 'n'){
printf("\nJogar de novo ? (s)im ou (n)ão\n");
play = getchar();
getchar();
printf("\n");
}
}
return 0;
}