miércoles, 15 de abril de 2015

SUDOKU EN C#(VISUAL STUDIO)


¿QUE ES?

El Sudoku es un rompecabezas matemático de colocación que se popularizó en Japón en 1986 y se dio a conocer en el ámbito internacional en 2005.

El objetivo es rellenar una cuadrícula de 9×9 celdas dividida en subcuadrículas de 3×3 con las cifras del 1 al 9 partiendo de algunos números ya dispuestos en algunas de las celdas.

No se debe repetir ninguna cifra en una misma fila, columna o subcuadrícula


¿COMO JUGARLO?

     Las reglas del SuDoKu son muy simples. En este rompecabezas no se trata de sumar nada con los números, ni que éstos tengan un orden lógico, sino que jugamos con los números como si fueran piezas de un puzzle, sin repetir ninguna ni en horizontal (filas), ni vertical (columnas), ni en las cajas de 3x3. 

     Cada una de las filas en SuDoKu está compuesta por 9 celdas en las que debes poner la serie de números del 1 al 9 en el orden que creas oportuno, pero sin repetirlo y, obviamente, sin dejar ninguno por poner. 

     A su vez, las columnas también tienen la misma estructura, sólo que en vertical, que las filas y también sus condiciones de juego, es decir, al colocar un número en una fila tienes que tener en cuenta que no se repita en la columna en la que está incluido. 

     No conformes con esto, el juego se complica un poco más con las cajas de 3x3. Todas ellas deben contener en su interior la serie completa del 1 al 9. 


EMPECEMOS......

Primeramente es necesario crear un nuevo proyecto en visual studio. cuando este creado es necesario tocar el tema de los datagrid el cual es una clase Control de lista enlazada a datos que muestra los elementos del origen de datos en una tabla. El control DataGrid permite seleccionar, ordenar y editar estos elementos.
Este datagrid tiene como jerarquia de herencia System.Object 
  System.Web.UI.Control
    System.Web.UI.WebControls.WebControl
      System.Web.UI.WebControls.BaseDataList
        System.Web.UI.WebControls.DataGrid

Con esta clase vamos a generar la cuadricula de juego con el siguiente codigo


Con esas modificaciones al ejecutar el proyecto tendremos una cuadricula de 9x9 casillas lo cual es la base de nuestro sudoku.
Después de generar esta estructura es necesario llamarla en nuestro windows form para que se visualice  para nuestro caso el juego va a tener 3 niveles de dificultad para ello se utilizo




Generando el nivel el código ramdom utilizado en ayudas anteriores generar una serie de números los cuales se ubicaran aleatoria mente en la cuadricula del datagrid al ingresar los numeros el sistema verificara si el numero ingresado es corresto para ello se utilizo.




cuando se haga la validación anterior si el usuario desea puede empezar un nuevo juego en el nivel deseado esto hace una interacción mas conjunta con el usuario para ello se hace uso de :




En el siguiente link dejo el proyecto con código abierto para que si desean lo modifiquen y lo puedan mejorar estoy atento a correcciones o dudas que estén bien.


!!!!!!!!!!!DESCARGA EL PROYECTO!!!!!!!!!!!!!







martes, 7 de abril de 2015

PICAS Y FIJAS EN C# (VISUAL STUDIO)




Hola amigos el día de hoy espesaremos un juego interesante llamado picas y pijas que consiste en descubrir un numero secreto .

¿COMO SE JUEGA?

Un juego muy conocido es picas y fijas, el cual consiste en tratar de adivinar un número en la menor cantidad de intentos. En cada intento, el jugador dice N dígitos  y el oponente(en este caso la maquina) le da pistas de cuántos aciertos tuvo, sin indicarle cuales fueron, de la siguiente forma: Si algún dígito que dice el jugador se encuentra dentro del número a adivinar, pero no está en la posición correcta, se llama PICA. Si el dígito se encuentra en la posición adecuada, se llama FIJA. Así, las pistas serán la cantidad de PICAS y la cantidad de FIJAS que se tienen. El juego termina cuando algún jugador tiene N FIJAS (N dígitos en el orden adecuado).

EMPEZAMOS .............

primeramente se genera un nuevo proyecto con windows form en c#. lo que utilizaremos es una serie de textbox donde el usuario va poder escribir los números deseados ya sea de la cantidad que halla elegido en este caso están para desarrollar de 2 a 9 dígitos al generar la interfaz obtendremos algo parecido a esto

Los números del 2 al nueve son la cantidad de niveles de nuestro juego para empezar debes elegir uno de ellos y entonces debes generar los textbox correspondientes para los diferentes tipos
para poder generar la interacción en canto a la selección de los niveles es necesario tener los siguientes métodos 



Cuando se halla seleccionado el nivel deseado es necesario crear un nemero que se adapte a la cantidad para ello se debe crear un numero aleatorio lo que se inicia con lo siguiente


Cuando se genere un numero aleatorio es necesario que el usuario ingrese los números que el cree correcto respecto al nivel que eligió pero se debe validar que todos los campos se encuentren correctamente llenos.


Si el método anterior valida que todos están completamente con un dato números es necesario capturarlos para así compararlo con el numero generado aleatoria mente



Al capturar todos estos datos se comprar con numero generado verificando si existe una pica o una fija y si es totalmente correcto el juego termina satisfactoriamente.




y si estos métodos se ejecutan correctamente es necesario imprimir la cantidad de intentos que se realizaron para ello se hace uso de:



ya como paso siguiente es necesario dar todas las funcionalidades  a los botones creados como reiniciar juego, descifrar el numero, para ello únicamente es necesario llamar los métodos creados anteriormente en cada uno de los botones.





Y con esto ya se ha terminado la parte funcional de nuestro juego ya si es desicion suya pueden adicionar mas imágenes o sonidos para que tengo un complemento visual mas robusto espero que les sea de mucha ayuda. si tiene alguna corrección estoy atento a ellas hasta pronto.
Les dejo el proyecto para que si desean lo puedan mejorar...



!!!!!!!!!!!!DESCARGA EL PROYECTO!!!!!!!!!!!!!