ayuda tic tac toe
hola a todos, estoy empezando a aprender java y tengo un problema que no he podido resolver, agradeceria mucho si alguien me pudiese dar una mano, decirme por donde empezar o lo que me falta.
debo programar el juego gato o tic tac toe para un tablero de cualquier dimensión mayor a
3 y menor a 21, manteniendo la forma de ganar, esto es, completar una corrida de tres marcas
consecutivas.El programa debe validar la jugada, permitiendo que sólo juegue al adversario que no jugó en la jugada anterior.validar la posición donde se desea incluir la nueva marca, debe estar disponible y debe estar en el rango del tablero.Visualizar el tablero (en forma cuadrada) con sus respectivas marcas.Dar la posibilidad de una nueva partida.Para la lectura de la posición, donde se desea incluir la marca, debo utilizar la clase Leer, que ya la tengo hecha.Por ultimo debo incluir una clase JugarGato donde dos usuarios jueguen Gato alternadamente, leyendo para cada jugador la celda que desea ocupar con su marca, esta partida debe jugarse hasta que uno de los dos jugadores gane o se empate.
la clase leer es la siguiente:
import java.io.*;
public class Leer
{public static String dato()
{
String sdato = "";
try
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
sdato = flujoE.readLine();
}
catch(IOException e)
{
System.err.println("Error: " + e.getMessage());
}
return sdato;
}
public static short datoShort()
{
try
{return Short.parseShort(dato());
}
catch(NumberFormatException e)
{return Short.MIN_VALUE;
}
}
public static int datoInt()
{
try
{
return Integer.parseInt(dato());
}
catch(NumberFormatException e)
{
return Integer.MIN_VALUE; // valor más pequeño
}
}
public static long datoLong()
{
try
{
return Long.parseLong(dato());
}
catch(NumberFormatException e)
{
return Long.MIN_VALUE;
}
}
public static float datoFloat()
{
try
{
Float f = new Float(dato());
return f.floatValue();
}
catch(NumberFormatException e)
{
return Float.NaN;
}
}
public static double datoDouble()
{
try
{
Double d = new Double(dato());
return d.doubleValue();
}
catch(NumberFormatException e)
{
return Double.NaN;
}
}
}
cualquier ayuda la agradecere mucho, de antemano muchas gracias
debo programar el juego gato o tic tac toe para un tablero de cualquier dimensión mayor a
3 y menor a 21, manteniendo la forma de ganar, esto es, completar una corrida de tres marcas
consecutivas.El programa debe validar la jugada, permitiendo que sólo juegue al adversario que no jugó en la jugada anterior.validar la posición donde se desea incluir la nueva marca, debe estar disponible y debe estar en el rango del tablero.Visualizar el tablero (en forma cuadrada) con sus respectivas marcas.Dar la posibilidad de una nueva partida.Para la lectura de la posición, donde se desea incluir la marca, debo utilizar la clase Leer, que ya la tengo hecha.Por ultimo debo incluir una clase JugarGato donde dos usuarios jueguen Gato alternadamente, leyendo para cada jugador la celda que desea ocupar con su marca, esta partida debe jugarse hasta que uno de los dos jugadores gane o se empate.
la clase leer es la siguiente:
import java.io.*;
public class Leer
{public static String dato()
{
String sdato = "";
try
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
sdato = flujoE.readLine();
}
catch(IOException e)
{
System.err.println("Error: " + e.getMessage());
}
return sdato;
}
public static short datoShort()
{
try
{return Short.parseShort(dato());
}
catch(NumberFormatException e)
{return Short.MIN_VALUE;
}
}
public static int datoInt()
{
try
{
return Integer.parseInt(dato());
}
catch(NumberFormatException e)
{
return Integer.MIN_VALUE; // valor más pequeño
}
}
public static long datoLong()
{
try
{
return Long.parseLong(dato());
}
catch(NumberFormatException e)
{
return Long.MIN_VALUE;
}
}
public static float datoFloat()
{
try
{
Float f = new Float(dato());
return f.floatValue();
}
catch(NumberFormatException e)
{
return Float.NaN;
}
}
public static double datoDouble()
{
try
{
Double d = new Double(dato());
return d.doubleValue();
}
catch(NumberFormatException e)
{
return Double.NaN;
}
}
}
cualquier ayuda la agradecere mucho, de antemano muchas gracias