Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
ep11-B/.DS_Store __MACOSX/ep11-B/._.DS_Store ep11-B/EP 11.pdf INF 01040 – Introdução à Programação Exercícios Entrega Programada 11 Introdução à Programação (INF 01040) 3 Entrega Programada 11 – B Descrição: Jan-Ken-Pon Implementar um jogo de Pedra, Papel e Tesoura (jan-ken-pon). O usuário deve jogar escolhendo uma das opções, 1 para pedra, 2 para papel ou 3 para tesoura. O computador deve jogar também (um número aleatório entre 1 e 3). Devem ser implementadas pelo menos 3 funções (além da main): ● Lê jogada (sem parâmetros de entrada, retorna um inteiro): informa ao usuário quais são as opções de jogada que ele pode fazer, lê a opção selecionada pelo usuário e verifica se ele informou uma jogada válida (1, 2 ou 3). Ao final retorna o número da jogada feita pelo usuário. ● Imprime jogada (recebe uma jogada inteira, não retorna nada): de acordo com a entrada informada imprime na tela pedra, papel ou tesoura. ● Calcula resultado (recebe dois parâmetros, a jogada do usuário e a do computador, retorna o resultado inteiro): de acordo com as jogadas a função deve imprimir: “Papel cobre pedra” ou “Tesoura corta papel” ou “Pedra amassa tesoura” Ao final, a função "calcula resultado" retorna 1 em caso de empate, 2 para vitoria do usuário ou 3 para vitória do computador. A função principal (main) deve chamar as outras funções para fazer o jogo funcionar. Primeiro deve-se ler a opção do usuário e gerar uma opção para o computador. Depois imprimir as duas jogadas. Por fim calcular o resultado e dizer quem venceu ou se houve empate. Em caso de empate, iniciar uma nova rodada. Atenção: O programa deverá obrigatoriamente usar funções. O programa deverá ser entregue pelo moodle. Slide 1 Entrega Programada 11 – B Descrição: Jan-Ken-Pon __MACOSX/ep11-B/._EP 11.pdf ep11-B/ep11.c #include <stdio.h> #include <stdlib.h> #include <time.h> int jogadadousuario (void) { int n; printf("\n\t\tRegras do JA KEN PO:\nDigite 1 para pedra.\nDigite 2 para tesoura.\nDigite 3 para papel.\n"); do { printf("Digite o numero da sua jogada: "); scanf("%d", &n); } while(n!=1 && n!=2 && n!=3); return n; } void imprimejogada (n) { printf("\nA jogada escolhida por voce foi:\n"); switch(n) { case 1: printf("PEDRA\n"); break; case 2: printf("TESOURA\n"); break; case 3: printf("PAPEL\n"); } } int jogadadocomputador (void) { int comp=0; srand(time(NULL)); comp = (rand() % 3) + 1; printf("\nA jogada escolhida aleatoriamente pelo computador foi:\n"); if (comp==1) printf("PEDRA\n"); if (comp==2) printf("TESOURA\n"); if (comp==3) printf("PAPEL\n"); return comp; } int calcularesultado (int jogadadousuario, int jogadadocomputador) { int comp=0, n=0, result=0; comp = jogadadocomputador; n = jogadadousuario; if (comp==1 && n==2) { printf("\nPedra amassa tesoura.\n"); result = 3; return (3);//significa que o computador venceu } else { if (comp==2 && n==1) { printf("\nTesoura corta papel.\n"); return (3); } else { if (comp==3 && n==1) { printf("\nPapel cobre pedra.\n"); result = 3; return (3); } else { if (comp==2 && n==1) { printf("\nPedra amassa tesoura.\n"); result = 3; return (2);//significa que o usuario venceu } else { if (comp==3 && n==2) { printf("\nTesoura corta papel.\n"); result = 2; return (2); } else { if (comp==1 && n==3) { printf("\nPapel cobre pedra.\n"); result = 2; return (2); } else { if (comp==1 && n==1) { printf("\nPedra contra pedra.\n"); result = 1; return (1); } else { if (comp==2 && n==2) { printf("\nTesoura contra tesoura.\n"); result = 1; return (1); } else { printf("\nPapel contra papel.\n"); result = 1; return (1); } } } } } } } } } int main () { int result=0; int vc, pc; vc = jogadadousuario (); pc = jogadadocomputador (); imprimejogada (vc); result = calcularesultado (vc, pc); if (result == 1) { printf("\nO Jogo ficou empatado! Por favor, tente novamente.\n"); main (); } if (result == 2) printf("\nVoce venceu!!! Parabens!\n\n"); if (result == 3) printf("\nVoce perdeu para o computador. =/\n\n"); }
Compartilhar