none
Jogo Jokenpo Console // Preciso de ajuda !! RRS feed

  • Pergunta

  • Galera to querendo fazer um jokenpo no console bem simples:

    Estou começando a aprender a linguagem, porém não estou conseguindo resolver isso, tenho certeza que deve ser algo simples mas enfim,  a parte do PC eu me irritei um pouco pois eu não estava conseguindo colocar "random rnd=new random() rnd.next(1,4)" e usar o método de retorno para transformar esses números aleatórios em Pedra, Papel ou Tesoura para depois fazer: Pedra ganha de Tesoura, Pedra perde para Papel, Papel ganha de Pedra, Papel perde de Tesoura, Tesoura perde de Pedra, Tesoura ganha de Papel e empate se ambos forem iguais. Não é um trabalho de faculdade, somente um exercício ( não vale ponto, o professor só vai resolver semana que vem mas queria entender antes o porque não estou conseguindo fazer isto) porém não estou conseguindo resolver, infelizmente na net tem somente guias mais avançados onde a galera coloca imagem, etc (achei até mais fácil a separação dos objetos). Mas enfim preciso conseguir para o Console(Net.Framework).


     class Program
        {
            static void Main(string[] args)
            {
                Console.Title = ("Jokenpo");
                string entrada, SuaEscolha,NumAleatorio, EscolhaDoPC;



                int NumeroEscolha, PCrnd;

                
                do
                {

                    EscreveColorido("Digite 1 para Pedra, 2 para Papel ou 3 para Tesoura (digite '5' para sair):", ConsoleColor.Blue);

                    Console.ForegroundColor = ConsoleColor.Magenta;

                    entrada = Console.ReadLine();

                    NumeroEscolha = Convert.ToInt32(entrada);

                    SuaEscolha = RetornaSuaEscolha(NumeroEscolha);

                    NumAleatorio = Console.ReadLine();//coloquei so para o programa rodar, mas a ideia é o PCrnd ser Aleatorio

                    PCrnd = Convert.ToInt32(NumAleatorio);

                    EscolhaDoPC = RetornaPC(PCrnd);

                    EscreveColorido(SuaEscolha, ConsoleColor.Yellow);
                    EscreveColorido("X", ConsoleColor.Cyan);
                    EscreveColorido(EscolhaDoPC, ConsoleColor.Yellow);
                    
                    EscreveColorido("Pressione qualquer tecla para continuar", ConsoleColor.Red);

                    

                    Console.ReadKey();

                    Console.Clear();


                } while (NumeroEscolha != 5);


            
            }
            static string RetornaSuaEscolha(int Escolha)
            {
                if (Escolha == 1)
                {
                    return "Pedra";
                }
                else if (Escolha == 2)
                {
                    return "Papel";
                }
                else if (Escolha == 3)
                {
                    return "Tesoura";
                }
                else if (Escolha == 5)
                {
                    return " >>Saindo<<";
                }
                else
                {
                    return "Não ha essa escolha, tente novamente...";
                }

            }
            static string RetornaPC(int EscolhaPC)//provavelmente não é isso mas...
            {
                if (EscolhaPC == 1)
                {
                    return "Pedra";
                }
                else if (EscolhaPC == 2)
                {
                    return "Papel";
                }
                else if (EscolhaPC == 3)
                {
                    return "Tesoura";
                }
                else
                {
                    return "aaaahhhhhh"; 
                }
            }
            static void EscreveColorido(string frase, ConsoleColor cor)

            {

                Console.ForegroundColor = cor;

                Console.WriteLine(frase);

            }
        }

    domingo, 29 de abril de 2018 21:05

Respostas

  • Olá, veja se te ajuda este código. Qualquer coisa basta perguntar.

    Abs!

    static void Main(string[] args)
            {
                Console.Title = ("Jokenpo");
                string entrada, SuaEscolha, NumAleatorio, EscolhaDoPC;
                int NumeroEscolha, PCrnd;
                Random rdn = new Random();
    
                EscreveColorido("Digite 1 para Pedra, 2 para Papel ou 3 para Tesoura (digite '5' para sair):", ConsoleColor.Blue);
                Console.ForegroundColor = ConsoleColor.Magenta;
                entrada = Console.ReadLine();
    
                NumeroEscolha = Convert.ToInt32(entrada);
                SuaEscolha = RetornaSuaEscolha(NumeroEscolha);
    
                NumAleatorio = rdn.Next(1, 4).ToString();
                PCrnd = Convert.ToInt32(NumAleatorio);
                EscolhaDoPC = RetornaPC(PCrnd);
    
                EscreveColorido(SuaEscolha, ConsoleColor.Yellow);
                EscreveColorido("X", ConsoleColor.Cyan);
                EscreveColorido(EscolhaDoPC, ConsoleColor.Yellow);
                EscreveColorido("Pressione qualquer tecla para continuar", ConsoleColor.Red);
    
                EscreveColorido(Vencedor(SuaEscolha, EscolhaDoPC), ConsoleColor.Green);
    
                Console.ReadKey();
                Console.Clear();
    
            }
    
            static string RetornaSuaEscolha(int Escolha)
            {
                string RetornoEscolha = string.Empty;
                switch (Escolha)
                {
                    case 1:
                        RetornoEscolha = "Pedra";
                        break;
                    case 2:
                        RetornoEscolha = "Papel";
                        break;
                    case 3:
                        RetornoEscolha = "Tesoura";
                        break;
                    case 5:
                        RetornoEscolha = " >>Saindo<<";
                        break;
                    default:
                        RetornoEscolha = "Não ha essa escolha, tente novamente...";
                        break;
                }
                return RetornoEscolha;
            }
    
            static string RetornaPC(int Escolha)//provavelmente não é isso mas...
            {
                string RetornoEscolha = string.Empty;
                switch (Escolha)
                {
                    case 1:
                        RetornoEscolha = "Pedra";
                        break;
                    case 2:
                        RetornoEscolha = "Papel";
                        break;
                    case 3:
                        RetornoEscolha = "Tesoura";
                        break;
                    default:
                        RetornoEscolha = "aaaahhhhhh";
                        break;
                }
                return RetornoEscolha;
            }
    
            static void EscreveColorido(string frase, ConsoleColor cor)
            {
                Console.ForegroundColor = cor;
                Console.WriteLine(frase);
            }
    
            static string Vencedor(string Jogador1, string Computador)
            {
                string Ganhador = string.Empty;
    
                if (Jogador1 == Computador) { Ganhador = "Empate!"; }
    
                if (Jogador1 == "Pedra")
                {
                    if (Computador == "Tesoura") { Ganhador = "Computador Perdeu!"; }
                    if (Computador == "Papel") { Ganhador = "Computador Ganhou!"; }
                }
    
                if (Jogador1 == "Tesoura")
                {
                    if (Computador == "Papel") { Ganhador = "Computador Perdeu!"; }
                    if (Computador == "Pedra") { Ganhador = "Computador Ganhou!"; }
                }
    
                if (Jogador1 == "Papel")
                {
                    if (Computador == "Pedra") { Ganhador = "Computador Perdeu!"; }
                    if (Computador == "Tesoura") { Ganhador = "Computador Ganhou!"; }
                }
    
                return Ganhador;
            }
        }


    Leandro de Agostini MCTS - Web Application, Framework 4

    • Marcado como Resposta Jogo Jokenpo segunda-feira, 30 de abril de 2018 11:49
    segunda-feira, 30 de abril de 2018 01:07

Todas as Respostas

  • Olá, veja se te ajuda este código. Qualquer coisa basta perguntar.

    Abs!

    static void Main(string[] args)
            {
                Console.Title = ("Jokenpo");
                string entrada, SuaEscolha, NumAleatorio, EscolhaDoPC;
                int NumeroEscolha, PCrnd;
                Random rdn = new Random();
    
                EscreveColorido("Digite 1 para Pedra, 2 para Papel ou 3 para Tesoura (digite '5' para sair):", ConsoleColor.Blue);
                Console.ForegroundColor = ConsoleColor.Magenta;
                entrada = Console.ReadLine();
    
                NumeroEscolha = Convert.ToInt32(entrada);
                SuaEscolha = RetornaSuaEscolha(NumeroEscolha);
    
                NumAleatorio = rdn.Next(1, 4).ToString();
                PCrnd = Convert.ToInt32(NumAleatorio);
                EscolhaDoPC = RetornaPC(PCrnd);
    
                EscreveColorido(SuaEscolha, ConsoleColor.Yellow);
                EscreveColorido("X", ConsoleColor.Cyan);
                EscreveColorido(EscolhaDoPC, ConsoleColor.Yellow);
                EscreveColorido("Pressione qualquer tecla para continuar", ConsoleColor.Red);
    
                EscreveColorido(Vencedor(SuaEscolha, EscolhaDoPC), ConsoleColor.Green);
    
                Console.ReadKey();
                Console.Clear();
    
            }
    
            static string RetornaSuaEscolha(int Escolha)
            {
                string RetornoEscolha = string.Empty;
                switch (Escolha)
                {
                    case 1:
                        RetornoEscolha = "Pedra";
                        break;
                    case 2:
                        RetornoEscolha = "Papel";
                        break;
                    case 3:
                        RetornoEscolha = "Tesoura";
                        break;
                    case 5:
                        RetornoEscolha = " >>Saindo<<";
                        break;
                    default:
                        RetornoEscolha = "Não ha essa escolha, tente novamente...";
                        break;
                }
                return RetornoEscolha;
            }
    
            static string RetornaPC(int Escolha)//provavelmente não é isso mas...
            {
                string RetornoEscolha = string.Empty;
                switch (Escolha)
                {
                    case 1:
                        RetornoEscolha = "Pedra";
                        break;
                    case 2:
                        RetornoEscolha = "Papel";
                        break;
                    case 3:
                        RetornoEscolha = "Tesoura";
                        break;
                    default:
                        RetornoEscolha = "aaaahhhhhh";
                        break;
                }
                return RetornoEscolha;
            }
    
            static void EscreveColorido(string frase, ConsoleColor cor)
            {
                Console.ForegroundColor = cor;
                Console.WriteLine(frase);
            }
    
            static string Vencedor(string Jogador1, string Computador)
            {
                string Ganhador = string.Empty;
    
                if (Jogador1 == Computador) { Ganhador = "Empate!"; }
    
                if (Jogador1 == "Pedra")
                {
                    if (Computador == "Tesoura") { Ganhador = "Computador Perdeu!"; }
                    if (Computador == "Papel") { Ganhador = "Computador Ganhou!"; }
                }
    
                if (Jogador1 == "Tesoura")
                {
                    if (Computador == "Papel") { Ganhador = "Computador Perdeu!"; }
                    if (Computador == "Pedra") { Ganhador = "Computador Ganhou!"; }
                }
    
                if (Jogador1 == "Papel")
                {
                    if (Computador == "Pedra") { Ganhador = "Computador Perdeu!"; }
                    if (Computador == "Tesoura") { Ganhador = "Computador Ganhou!"; }
                }
    
                return Ganhador;
            }
        }


    Leandro de Agostini MCTS - Web Application, Framework 4

    • Marcado como Resposta Jogo Jokenpo segunda-feira, 30 de abril de 2018 11:49
    segunda-feira, 30 de abril de 2018 01:07
  • No caso para que você colocou o ToString() em: "NumAleatorio = rdn.Next(1, 4).ToString();" serve para o numero aleatório ser uma string para assim você poder transformar ela em int ? E aproveito e já te agradeço !! muito obrigado ! estava ficando doido pois não estava conseguindo colocar esse maldito numero aleatório hahahha.

    E e o que o string Empty seria ? só uma string aonde você colocou as escolhas e executou as alternativas ? ele é necessário ?

    • Editado Jogo Jokenpo segunda-feira, 30 de abril de 2018 11:54
    segunda-feira, 30 de abril de 2018 11:49
  • Olá, eu converti para string porque você declarou a variável NumeroEscolha como string.
    Quando você declara uma variável, por boas práticas você inicializa a variável para que não haja erro de validação em algum momento do seu código. ex:
    1. string teste = null;
    if(teste != string.Empty) {teste = "2"; } //--> vai dar erro pois a variável teste está nula e não vazia.

    Abs!


    Leandro de Agostini MCTS - Web Application, Framework 4

    segunda-feira, 30 de abril de 2018 12:23