Código do jogo Pedra Papel Tesoura. Feito por mim como parte integrante da disciplina de Algoritmos. O jogo consiste em 2 jogadores virtuais que duelam entre si. O número de rodadas é dado pelo usuário.
O código:
/* Pedra Papel Tesoura */Lembrando que não possui interface gráfica. Execute com o auxílio de um debugger.
/* Feito por João Marcos */
package PedraPapelTesoura;
import java.util.Scanner;
public class PedraPapelTesoura {
//Função para retornar a jogada
public static String ConverteIntParaString(int x){
String Result = "null";
switch(x) {
case 0 :
Result = "Pedra";
break;
case 1 :
Result = "Papel";
break;
case 2 :
Result = "Tesoura";
break;
}
return Result;
}
//Função para retornar número aleatório
public static int Randomize(int x) {
int r = (int)Math.floor(Math.random()*x);
return r;
}
//Função para retornar o resultado de acordo com a jogada
public static String Resultado(String x, String y) {
if (x.equals(y)) {
return "Empate";
} else if(x.equals("Pedra") && y.equals("Tesoura")) {
return "Jogador 01 Win";
} else if(x.equals("Tesoura") && y.equals("Papel")) {
return "Jogador 01 Win";
} else if(x.equals("Papel") && y.equals("Pedra")) {
return "Jogador 01 Win";
} else {
return "Jogador 02 Win";
}
}
public static void main(String[] args) {
String[][] Tabela; // Tabela com as jogadas
Integer Rounds; // Numero de partidas
//Entrada das partidas
System.out.println("Digite:");
Scanner in = new Scanner(System.in);
Rounds = in.nextInt();
//Validação do número de partidas
while(Rounds <= 0){
System.out.println("Redigite:");
Rounds = in.nextInt();
}
//Inicialização da tabela com as jogadas
Tabela = new String[3][Rounds];
//Início do jogo
for(int i = 0; i < Rounds; i ++){
String JogadaJogador01 = ConverteIntParaString(Randomize(3));
String JogadaJogador02 = ConverteIntParaString(Randomize(3));
String Result = Resultado(JogadaJogador01, JogadaJogador02);
/*
//Contagem do tempo
for(int x = 4; x > 0; x--) {
long t0, t1;
t0 = System.currentTimeMillis();
do{
t1 = System.currentTimeMillis();
} while ((t1 - t0) < (1 * 1000));
System.out.println("A partida começa em " + (x-1));
}
*/
System.out.println("JÁ! Jogador 01 jogou " + JogadaJogador01 + " e jogador 02 jogou " + JogadaJogador02 + " e o resultado foi " + Result);
Tabela[0][i] = JogadaJogador01;
Tabela[1][i] = JogadaJogador02;
Tabela[2][i] = Result;
}
//Contagem dos resultados
Integer Jogador01Win = 0;
Integer Jogador02Win = 0;
Integer Empate = 0;
for(int i = 0; i < Rounds; i++) {
if(Tabela[2][i].equals("Jogador 01 Win")) {
Jogador01Win++;
} else if(Tabela[2][i].equals("Jogador 02 Win")) {
Jogador02Win++;
} else {
Empate++;
}
}
//Exibição dos resultados
if(Jogador01Win > Jogador02Win) {
System.out.println("O jogador 01 venceu de " + Jogador01Win + " a " + Jogador02Win);
} else if(Jogador01Win < Jogador02Win) {
System.out.println("O jogador 02 venceu de " + Jogador02Win + " a " + Jogador01Win);
} else {
System.out.println("Houve um empate! Ambos os jogadores venceram " + Empate);
}
}
}
0 comentários:
Postar um comentário