Exercício – Concluir o desafio de criar um método reutilizável
Os desafios de código reforçam o que você aprendeu e ajudam você a ter uma certa confiança antes de continuar.
O foco desse desafio é modificar o código para que ele seja reutilizável e possa ser executado a qualquer momento.
Dizer a sorte nas cartas
Você está ajudando a desenvolver um jogo de RPG multijogador de grande porte. Cada jogador tem uma estatística de sorte que pode afetar suas chances de encontrar tesouros raros. Todos os dias, um jogador pode falar com um cartomante no jogo que revelará se sua estatística de sorte é alta, baixa ou neutra.
No momento, o jogo tem código para gerar a sorte de um jogador, mas não é reutilizável. Sua tarefa é criar um método tellFortune que pode ser chamado a qualquer momento e substituir a lógica existente por uma chamada ao seu método.
Neste desafio, você recebe um código para iniciar. Você deve decidir como criar e chamar o método tellFortune.
Desafio de código: criar um método reutilizável
No código com o qual você começará, há uma matriz de texto genérica, seguida por matrizes de texto para boa, ruim e neutra. Dependendo do valor de luck, uma das matrizes é selecionada para ser exibida junto com o texto genérico.
Seu desafio é criar um método reutilizável que imprimirá a sorte de um jogador a qualquer momento. O método deve conter a lógica que já está presente no código fornecido.
Verifique se você tem o arquivo Program.cs vazio aberto no Visual Studio Code.
Se necessário, abra o Visual Studio Code e conclua as seguintes etapas para preparar o arquivo Program.cs no Editor:
No menu Arquivo , selecione Abrir Pasta.
Use a caixa de diálogo Abrir Pasta para navegar e, em seguida, abrir a pasta CsharpProjects .
No painel EXPLORADOR do Visual Studio Code, selecione Program.cs.
No menu Seleção do Visual Studio Code, selecione Selecionar Tudo e pressione a tecla Delete.
Copie e cole o seguinte código no editor:
Random random = new Random(); int luck = random.Next(100); string[] text = {"You have much to", "Today is a day to", "Whatever work you do", "This is an ideal time to"}; string[] good = {"look forward to.", "try new things!", "is likely to succeed.", "accomplish your dreams!"}; string[] bad = {"fear.", "avoid major decisions.", "may have unexpected outcomes.", "re-evaluate your life."}; string[] neutral = {"appreciate.", "enjoy time with friends.", "should align with your values.", "get in tune with nature."}; Console.WriteLine("A fortune teller whispers the following words:"); string[] fortune = (luck > 75 ? good : (luck < 25 ? bad : neutral)); for (int i = 0; i < 4; i++) { Console.Write($"{text[i]} {fortune[i]} "); }Atualize o código para usar um método para exibir a sorte.
Use o que você aprendeu sobre como criar e chamar métodos para concluir a atualização.
Teste seu código alterando o valor de
lucke chamando o método novamente.Verifique se o código produz uma das seguintes mensagens:
A fortune teller whispers the following words: You have much to look forward to. Today is a day to try new things! Whatever work you do is likely to succeed. This is an ideal time to accomplish your dreams!A fortune teller whispers the following words: You have much to appreciate. Today is a day to enjoy time with friends. Whatever work you do should align with your values. This is an ideal time to get in tune with nature.A fortune teller whispers the following words: You have much to fear. Today is a day to avoid major decisions. Whatever work you do may have unexpected outcomes. This is an ideal time to re-evaluate your life.
Se você tiver dificuldades e precisar dar uma olhada na solução ou se conseguir terminar, prossiga para exibir uma solução para esse desafio.