public enum Color { BLANCA, NEGRA };
get { return this.color; }
get { return this.fila; }
set { this.fila = value; }
get { return this.columna; }
set { this.columna = value; }
public Pieza(Color color, int fila, int columna)
public const int COLUMNAS = 8;
public const int FILAS = 8;
private const int PIEZAS = 24;
this.pieza = new Pieza[PIEZAS];
Console.WriteLine("Creando tablero...");
for (int f = 0; f < FILAS; f++)
for (int c = 0; c < COLUMNAS; c++)
this.pieza[numPieza] = new Pieza(Color.NEGRA, f, c);
this.pieza[numPieza] = new Pieza(Color.BLANCA, f, c);
public void MuestraTablero()
Console.WriteLine("Mostrando tablero...");
for (int i = 0; i < FILAS; i++)
for (int j = 0; j < COLUMNAS; j++)
for(int n = 0; n < pieza.Length; n++)
if (n <= pieza.Length - 1 && pieza[n].Fila == i && pieza[n].Columna == j)
if (pieza[n].ColorPieza == Color.BLANCA)
if((i + j) % 2 != 0 && !llena)
public string MoverPieza(int filaOrigen, int columnaOrigen, int filaDestino, int columnaDestino)
string msg = "Ficha no encontrada!";
Console.WriteLine("Moviendo...");
for (int i = 0; i < pieza.Length; i++)
if (filaOrigen == pieza[i].Fila && columnaOrigen == pieza[i].Columna)
Console.WriteLine("ENCONTRADA FICHA "+pieza[i].ColorPieza);
if (pieza[i].ColorPieza == Color.NEGRA)
if (filaDestino == filaOrigen +1 && columnaOrigen != columnaDestino && columnaDestino >= 0 && columnaDestino < 8)
if(BuscarPieza(filaDestino, columnaDestino))
msg = "EL MOVIMIENTO ES CORRECTO";
pieza[i].Fila = filaDestino;
pieza[i].Columna = columnaDestino;
msg = "HAY UNA PIEZA EN EL CAMINO";
msg = "ERROR, NO PUEDES RETROCEDER";
if (pieza[i].ColorPieza == Color.BLANCA)
if (filaDestino == filaOrigen -1 && columnaOrigen != columnaDestino && columnaDestino >= 0 && columnaDestino < 8)
if(BuscarPieza(filaDestino, columnaDestino))
msg = "EL MOVIMIENTO ES CORRECTO";
pieza[i].Fila = filaDestino;
pieza[i].Columna = columnaDestino;
msg = "HAY UNA PIEZA EN EL CAMINO";
msg = "ERROR, NO PUEDES RETROCEDER";
private bool BuscarPieza(int f, int c)
for (int i = 0; i < pieza.Length; i++)
if(pieza[i].Fila == f && pieza[i].Columna == c)
public static void Main()
Tablero tablero = new Tablero();
tablero.MuestraTablero();
Console.WriteLine("Introduzca la fila y columna origen y destino, valores entre 1 y 8: ");
Console.WriteLine(tablero.MoverPieza(Convert.ToInt32(Console.ReadLine())-1, Convert.ToInt32(Console.ReadLine())-1, Convert.ToInt32(Console.ReadLine())-1, Convert.ToInt32(Console.ReadLine())-1));