[1] Comentário enviado por ricardok2 em 16/09/2009 - 12:50h
Cara, essa rand() realmente gera números aleatório ou ele gera uma sequência que se repete?
Há muito tempo atrás eu tentei usar ele para um joguinho também, mas não funcionou corretamente ...
[4] Comentário enviado por Gabriel_Silva em 19/09/2009 - 19:58h
Existe um problema grave no programa. A função jokenpo() é recursiva e permite um loop indefinido.
Aqui, especificamente, será difícil ocorrer um stack overflow, pois o programa interage com um humano e dificilmente este jogará mais do que algumas dezenas de vezes sem sair do programa. Fica a dica para tomar cuidado com funções recursivas em outras aplicações.
[5] Comentário enviado por AnderRanquetat em 25/04/2016 - 11:56h
Se o jogo original a ideia é de que pedra vence tesoura, tesoura corta papel, e papel embrulha pedra, agora a lógica (bem vulcana) será: a tesoura corta o papel, o papel cobre a pedra, a pedra destrói o lagarto, o lagarto envenena spock, spock destrói a tesoura, a tesoura decapita o lagarto, o lagarto come o papel, o papel desaprova spock, spock vaporiza a pedra, a pedra destrói a tesoura. Mantém-se os gestos para a pedra (mão fechada), papel (mão aberta), tesoura (dois dedos abertos), e acrescenta-se para “spock” a saudação Vulcana e para “lagarto” a mão formando um boneco de boca articulável.
Até aqui ta pronto, mas tá dando erros, o código ainda não tá completamente pronto, pode me ajudar.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int num, num_pc;
char escolha, escolha_pc;
printf("Rock-Paper-Scissor\n\n");
printf("Autor: \n\n");
printf("R para Pedra\n");
printf("T para Tesoura\n");
printf("P para Papel\n");
printf("L para Lagarto\n");
printf("S para Spock\n");
printf("Entre com a sua escolha:");
escolha=getchar();
escolha = toupper(escolha);
if(escolha == 'R' || escolha == 'T' || escolha == 'P' || escolha == 'L' || escolha == 'S'){
}else{
printf("\nA escolha tem que ser R ou T ou P ou L ou S\n\n");
system("PAUSE");
return EXIT_SUCCESS;}
srand(time(NULL));
num_pc= rand() % 5;
switch(num_pc){
case 0:
escolha_pc = 'R';
break;
case 1:
escolha_pc = 'T';
break;
case 2:
escolha_pc = 'P';
break;
case 3:
escolha_pc = 'L';
break;
case 4:
escolha_pc = 'S';
break;
}
printf("\nMinha escolha e: %c\n", escolha_pc);
printf("\nSua escolha e: %c\n\n", escolha);
if(escolha =='R' && escolha_pc == 'T' || escolha =='R' && escolha_pc =='L'){
printf("\nVoce Venceu campeao!!!!\n");}
else if(escolha =='T' && escolha_pc =='P' || escolha =='T' && escolha_pc =='L'){
printf("\nVoce Venceu campeao!!!!\n");}
else if(escolha =='P' && escolha_pc =='R' || escolha =='P' && escolha_pc =='S'){
printf("\nVoce Venceu campeao!!!!\n");}
else if(escolha =='L' && escolha_pc =='P' || escolha =='L' && escolha_pc =='S'){
printf("\nVoce Venceu campeao!!!!\n");}
else if(escolha =='S' && escolha_pc =='R' || escolha =='S' && escolha_pc =='T'){
printf("\nVoce Venceu campeao!!!!\n");}
else if(escolha == escolha_pc){
printf("\nEmpatamos colega!!!!\n");
}else{
printf("\nVoce perdeu seu derrotado!!!!\n\n");}