Para resolver un sudoku se debe observar una serie de condiciones que cumplen la simple restricción: que no se repita el número (en fila, columna o subcuadrado).
Para empezar realizamos un form donde solicita comenzar o salir del juego.
Despues de dar clic en Comenzar, nos redirecciona a otro form donde solicita el nombre, Tipo y nivel de juego.
En nivel de juego existen 3 niveles, Facil Intermedio y Avanzado se escoge uno para empezar el juego
A continuación relacionare el código que logramos entender con algunos compañeros de la Universidad, si tienen mejoras o sugerencias para el codigo sera de mucha ayuda para complementar poco a poco este juego.
/// <summary>
/// Método que intercambia las propiedades de los botones que recibe como parámetro y
/// reproduce un sonido en cada movimiento invocando al método reproducirSonido().
/// </summary>
/// <param name="bCentral"></param>
/// <param name="bContiguo"></param>
public void cambiarPropiedades(Button bCentral, Button bContiguo)
{
bContiguo.BackColor = Color.Transparent;
bCentral.BackColor = Color.Black;
bContiguo.Text = bCentral.Text;
bCentral.Text = "";
intentos++;
movimientos.Text = "Movimientos: " + intentos;
}
/// <summary>
/// Método que evalua si es posible generar un movimiento en los botones de las esquinas del
/// juego (invocando al método cambiarPropiedades()).
/// </summary>
/// <param name="botonCentral"></param>
/// <param name="botonContiguo1"></param>
/// <param name="botonContiguo2"></param>
public void realizarMovimiento(Button botonCentral, Button botonContiguo1, Button botonContiguo2)
{
if (botonContiguo1.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo1);
else if (botonContiguo2.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo2);
}
/// <summary>
/// Método que evalua si es posible generar un movimiento en los botones laterales del
/// juego (invocando al método cambiarPropiedades()).
/// </summary>
/// <param name="botonCentral"></param>
/// <param name="botonContiguo1"></param>
/// <param name="botonContiguo2"></param>
/// <param name="botonContiguo3"></param>
public void realizarMovimiento(Button botonCentral, Button botonContiguo1, Button botonContiguo2, Button botonContiguo3)
{
if (botonContiguo1.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo1);
else if (botonContiguo2.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo2);
else if (botonContiguo3.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo3);
}
/// <summary>
/// Método que evalua si es posible generar un movimiento en los botones centrales del
/// juego (invocando al método cambiarPropiedades()).
/// </summary>
/// <param name="botonCentral"></param>
/// <param name="botonContiguo1"></param>
/// <param name="botonContiguo2"></param>
/// <param name="botonContiguo3"></param>
/// <param name="botonContiguo4"></param>
public void realizarMovimiento(Button botonCentral, Button botonContiguo1, Button botonContiguo2, Button botonContiguo3, Button botonContiguo4)
{
if (botonContiguo1.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo1);
else if (botonContiguo2.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo2);
else if (botonContiguo3.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo3);
else if (botonContiguo4.BackColor == Color.Black)
cambiarPropiedades(botonCentral, botonContiguo4);
}


No hay comentarios:
Publicar un comentario