/* Classe JogoDaVelhiinha*/
import java.util.Scanner;
public class JogoDaVelhiinha {
public static void main(String[] args) {
JogoDaVelhiinha jogo = new JogoDaVelhiinha();
}
private TabuleiroMiserento tabuleiro;
private int rodada=1, vez=1;
private Serumaninho abestaiado1;
private Serumaninho abestaiado2;
public Scanner entrada = new Scanner(System.in);
public JogoDaVelhiinha(){
tabuleiro = new TabuleiroMiserento();
iniciandoOsSerumaninhos();
while( Jogar() );
}
public void iniciandoOsSerumaninhos(){
System.out.println("Quem vai ser o Primeiro Abestado ?");
if(escolherJogador() == 1)
this.abestaiado1 = new PowerRange(1);
System.out.println("#############################");
System.out.println("Quem vai ser o Segundo Abestado ?");
if(escolherJogador() == 1)
this.abestaiado2 = new PowerRange(2);
}
public int escolherJogador(){
int opcao=0;
do{
System.out.println("1. Power Range ");
/* System.out.println("2. Power Range Preto\n");*/
System.out.print("Opção: ");
opcao = entrada.nextInt();
if(opcao != 1 && opcao != 2)
System.out.println("Ops a Opção é inválida! Tente novamente");
}while(opcao != 1 && opcao != 2);
return opcao;
}
public boolean Jogar(){
if(ganhou() == 0 ){
System.out.println("########################");
System.out.println("\nRodada "+rodada);
System.out.println("É a vez do 'Serumanhinho' " + vez() );
if(vez()==1)
abestaiado1.jogar(tabuleiro);
else
abestaiado2.jogar(tabuleiro);
if(tabuleiro.MiseraCompleto()){
System.out.println("EMPATOU MACHU ! VÁ DENOVO.");
return false;
}
vez++;
rodada++;
return true;
} else{
if(ganhou() == -1 )
System.out.println("Há Miseravi o serumaninho 1 ganhou!");
else
System.out.println("Há Miseravi o serumaninho 2 ganhou!");
return false;
}
}
public int vez(){
if(vez%2 == 1)
return 1;
else
return 2;
}
public int ganhou(){
if(tabuleiro.VerificaAsLinhas() == 1)
return 1;
if(tabuleiro.VerificaAsColunas() == 1)
return 1;
if(tabuleiro.VerificaAsDiagonais() == 1)
return 1;
if(tabuleiro.VerificaAsLinhas() == -1)
return -1;
if(tabuleiro.VerificaAsColunas() == -1)
return -1;
if(tabuleiro.VerificaAsDiagonais() == -1)
return -1;
return 0;
}
}
/* Classe Serumaninho*/
public abstract class Serumaninho {
protected int[] tentativa = new int[2];
protected int jogador;
public Serumaninho(int jogador){
this.jogador = jogador;
}
public abstract void jogar(TabuleiroMiserento tabuleiro);
public abstract void Tentativa(TabuleiroMiserento tabuleiro);
public boolean checaTentativa(int[] tentativa, TabuleiroMiserento tabuleiro){
if(tabuleiro.getPosicao(tentativa) == 0)
return true;
else
return false;
}
}
0 comentários:
Postar um comentário