Jogo pedra papel tesoura lagarto spock em C++

  O jogo pedra-papel-tesoura-lagarto-spock é uma variante da versão clássica do jokempô na qual cada jogador escolhe um desses 5 símbolos e, seguindo uma regra pré-estabelecida de relação entre pares de símbolos, verifica-se qual foi o jogador vencedor ou se a partida acabou empatada.

A relação entre os símbolos é bastante simples. Por exemplo, pedra ganha de tesoura e de lagarto, mas perde para papel e para spock. Naturalmente, pedra empata com pedra. Observe todas as relações na figura abaixo:



Faça um programa que leia dois números inteiros representando os símbolos jogados pelos jogadores e mostre na tela qual foi o jogador vencedor, ou se a partida terminou em empate. Considere a seguinte representação:

  • 0: pedra
  • 1: lagarto
  • 2: tesoura
  • 3: spock
  • 5: papel

Considere que o usuário sempre vai digitar números válidos, isto é, não é necessário verificar no programa se os números digitados pertencem ao conjunto {0, 1, 2, 3, 5}.

Exemplo de execução:

  • Jogador 1: 5
  • Jogador 2: 0
  • Jogador 1 ganhou!

Outro exemplo de execução:

  • Jogador 1: 3
  • Jogador 2: 1
  • Jogador 2 ganhou!

Outro exemplo de execução:

  • Jogador 1: 2
  • Jogador 2: 2
  • Empate!


ALGORITMO EM C++:

#include <iostream>

using namespace std;

int main()

    int j1,j2;

    #define pedra 0

    #define lagarto 1

    #define tesoura 2

    #define spock 3

    #define papel 5


    cout<<"Jogador 1:";

    cin>>j1;

    cout<<"Jogador 2:";

    cin>>j2;

    if ((j1==pedra and j2==pedra) || (j1==lagarto and j2==lagarto) || (j1==tesoura and j2==tesoura) || (j1==spock and j2==spock) || (j1==papel and j2==papel)))

        cout << "Empate!";

    }else{

        if(j1==lagarto){

            if(j2==spock){

                cout << "Jogador 1 ganhou!";

            }else{

                if(j2==papel){

                    cout << "Jogador 1 ganhou!";

                }else{

                    cout << "Jogador 2 ganhou!";

                }

            }

        }else{

             if(j1==spock){

                if(j2==pedra){

                    cout << "Jogador 1 ganhou!";

                }else{

                    if(j2==tesoura){

                        cout << "Jogador 1 ganhou!";

                    }else{

                        cout << "Jogador 2 ganhou!";

                    }

                }

             }else{

                 if(j1==pedra){

                    if(j2==lagarto){

                        cout << "Jogador 1 ganhou!";

                    }else{

                        if(j2==tesoura){

                            cout << "Jogador 1 ganhou!";

                        }else{

                            cout << "Jogador 2 ganhou!";

                        }

                    }

                }else{

                    if(j1==tesoura){

                        if(j2==papel){

                            cout << "Jogador 1 ganhou!";

                        }else{

                            if(j2==lagarto){

                                cout << "Jogador 1 ganhou!";

                            }else{

                                cout << "Jogador 2 ganhou!";

                            }

                        }

                    }else{

                        if(j1==papel){

                            if(j2==spock){

                                cout << "Jogador 1 ganhou!";

                            }else{

                                if(j2==pedra){

                                    cout << "Jogador 1 ganhou!";

                                }else{

                                    cout << "Jogador 2 ganhou!";

                            }

                        }

                    }

                }

            }

        }

    }

  }

}

Comentários

Postagens mais visitadas deste blog

Método da Interpolação por Eliminação Gaussiana em Scilab

Cálculo do Erro para Interpolação em Scilab

Método de Interpolação de Lagrange em Scilab