Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



martes, 8 de octubre de 2013

Juego Conecta 4: Paso a Paso (6) Formularios

Juego Conecta 4: 

Paso a Paso (6) 

Formularios



Formulario: FormInicio
Este formulario tiene la misión de iniciar el formulario de  FormJugadores, donde obtendrá los datos de los jugadores (humano/ordenador y nivel), y se los pasará al formulario FmainTablero, mostrandolo para que se inicie el juego.



Al pulsar el botón de "Nueva Partida", lo que hace es definir dos variables del tipo variant[] y string[], las cuales las vamos a pasar al formulario de jugadores,  estas variables al ser array se pasan por referencia (y no por valor), lo cual nos es necesario para que cuando sean modificadas por el usuario en el formulario de jugadores, esa información la pasemos al formulario del tablero.


El formulario FormJugadores:
Usando Combobox, nos permite elegir el tipo de jugador y la dificultad (1 a 4).



El formulario FmainTablero:
Es el encargado de mostrar la partida (tanto gráficamente), como rellenando los textarea para mostrar los movimientos. Tambien se va  a encargar de captar el evento click del usuario en el tablero gráfico (drawingArea), para informar al programa de en que columna ha hecho click.










La parte del código más interesante es esta:


Ya que permite "escuchar" la acción que hace el usuario en el drawingArea, (pulsar el botón del ratón), y modifica dos variables (col[] y producidoclick[]), que a la vez están usadas en el bucle del método juega de la clase ClassJugadorHumano (que se le han pasado como parametros de la función), permitiendo así, actuar según la columna pulsada.
Nota:
La sentencia Wait 0.005, es muy importante, ya que hace que haya una pequeña "parada" a la hora de ejecutar el bucle while...wend, y esa pequeña "parada" dentro del bucle, hace que se pueda escuchar las acciones del usuario (la pulsación del botón del ratón). Si no hubiera esa pequeña parada, el bucle se continua ejecutando indefinidamente, sin escuchar, y por lo tanto se no modificarían nunca las variables producidoclick ni col.