Jogo da Velha Jogador Humano - JAVA
Por: Fernando Elias • 13/4/2022 • Trabalho acadêmico • 1.641 Palavras (7 Páginas) • 139 Visualizações
import java.io.*;
class JogadorHumano
{
private Marca marca = null;
private Tabuleiro tabDoJogo;
private BufferedReader entrada = new BufferedReader
(new InputStreamReader
(System.in));
public JogadorHumano (Tabuleiro tab) throws Exception
{
// inicia tabDoJogo com tab e pergunta ao jogador qual marca (X ou O) deseja usar,
// iniciando marca; lanca excecao caso o tab seja nulo
this.marca = null;
this.tabDoJogo = null;
if (tab == null)
throw new Exception("Tabuleiro nulo");
this.tabDoJogo = tab;
char upperCase = ' ';
while (true) {
System.out.println();
System.out.print("Seu simbolo: ");
try {
upperCase = Character.toUpperCase(this.entrada.readLine().charAt(0));
}
catch (Exception err) {
System.err.println(err);
}
if (upperCase == 'X' || upperCase == 'O') {
break;
}
System.err.println("Simbolos devem ser X ou O!");
System.out.println();
}
try {
this.marca = new Marca(upperCase);
}
catch (Exception err) {
System.err.println(err);
}
}
public JogadorHumano (Tabuleiro tab, Marca mrc) throws Exception
{
// inicia tabDoJogo com tab e marca com mrc; lanca excecao caso tab ou mrc sejam nulos
this.marca = null;
this.tabDoJogo = null;
if (tab == null) {
throw new Exception("Tabuleiro nulo");
}
this.tabDoJogo = tab;
if (mrc == null) {
throw new Exception("Marca nula");
}
this.marca = mrc;
}
public Marca getMarca ()
{
// retorna a marca do jogador
return this.marca;
}
public void facaSuaJogada ()
{
// pergunta, quantas vezes forem necessarias, onde o jogador quer jogar
// (ate que o mesmo indique uma jogada valida), que sera a jogada do jogador
int linha = 0;
int coluna = 0;
System.out.println();
System.out.println("Tabuleiro:");
System.out.println();
System.out.println(this.tabDoJogo);
while (true) {
System.out.println();
System.out.print("Linha.: ");
try {
linha = Integer.parseInt(this.entrada.readLine());
}
catch (Exception err) {
System.err.println(err);
}
if (linha < 0 || linha > 2) {
System.err.println("Linha deve estar entre 0 e 2 (inclusive)!");
System.out.println();
}
else {
while (true) {
System.out.print("Coluna: ");
try {
coluna = Integer.parseInt(this.entrada.readLine());
}
catch (Exception err) {
System.err.println(err);
}
if (coluna >= 0 && coluna <= 2) {
break;
}
System.err.println("Coluna deve estar entre 0 e 2 (inclusive)!");
System.out.println();
}
try{
...