Proximamente la explicacion :). No falten ![]()
Buenas, este post es corto porque quiero decir que sigo vivo a pesar de que no estoy posteando asiduamente!
Se me está complicando, prometo completar el código de la "Batalla Naval" (Para VB.NET) y luego seguir con los tutoriales de FLASH y PHP.
No me extrañen xD
Saludos.
Hace un tiempo en el curso empezamos con este proyecto y lo estamos agrandando cada dia.
Voy a tratar de ir mostrando de a partes y dando consejos para construir un juego de este tipo en CONSOLA y dejando bien abierto para proximas cosas que tengan ganas de ponerle.
1. Uso de Constantes
Siempre! Siempre! Se usan constantes para este tipo de cosas, es complicado acostumbrarse a programar "generico" pero tiene que hacerse, que pasa si cambia el tamaño del tablero? Que pasa si queremos aumentar el numero de barcos en el juego? Tendriamos que cambiar todos los numeros en el codigo, seria un desastre.
El uso de constantes evita todo tipo de problemas y el uso de las palabras hace más clara la lectura del codigo.
2. El Procedimiento "Main()" limpio.
El Main debe contener el menor numero de instrucciones posibles, cuanto más limpio mejor, no tiene porque pero si es muy recomendable.
3. Procedimientos genericos util para cualquier cantidad de jugadores
Los procedimientos deben ser genericos SIEMPRE! no podemos estar copiando y pegando codigo cada vez que necesitemos insertar un jugador nuevo por ejemplo.
Dejemoslo por acá... Esperen la 2° Parte :D.
Hace tiempo que no posteo nada interesante asi que vuelvo con este mini tutorial sobre los Procedimientos y Funciones en Visual .NET. Ya saben, cualquier correción pueden dejarla en los comentarios.
Recuerden siempre que pueden usar el codigo para el limpiado de pantalla que vimos en este Post
Procedimientos
Llamaremos procedimientos a una serie de pasos (identificados con un nombre) a realizar de forma "general", y que no devuelve ningun tipo de valor.
Funciones
Llamaremos funciones a una serie de pasos (identificados con un nombre) a realizar de forma "general" (generica) y que devuelve un valor.
Si bien esta definición no es exacta y carece de tecnisismo podemos identificar claramente la diferencia entre el procedimiento y la función. Ustedes dirán: "Pero... Podemos hacer que el procedimiento devuelva un valor?". La respuesta es "NO", VB no permite que los procedimientos devuelvan valores, si lo permite con las funciones.
Como identificar los unos de los otros
Procedimiento:
Función:
Como ven no son nada dificiles, la sintaxis es practicamente la misma, pero ahora veremos para que sirven cada una de ellas (Un detalle, las funciones tanto como los parametros pueden carecer de parametros, no son obligatorios).
Utilización
Sin ir más lejos en el Curso estamos realizando una "Batalla Naval" (Juego en el cual 2 jugadores colocan barcos en un tablero y tratan de hundirselos mutuamente) y se esta realizando bastante lento, pero es bueno saber de ante mano como hacer que las tareas se faciliten, por ejemplo, podriamos buscar la posicion de un barco en una matriz con una función:
Veamos que hace la función.
Primero le asignamos un nombre, en este "buscaBarco" y le pasamos como parametro el Tablero en el que lo buscaremos (Tablero será una matriz obviamente). Recorriendo el tablero desde la posición 0 hasta la cantidad de FILAS y de COLUMNAS que haya, entonces, si en esa posición hay un 1 (Previamente la matriz se llena de 0's y colocamos un 1 donde quieramos que esté un barco) devuelve TRUE y sino, devuelve FALSE. Y eso es lo que lo hace una función, devuelve TRUE si hay coincidencia y FALSE si no la hay, es especialmente util para este tipo de cosas.
En cambio un procedimiento sirve para algo que sabemos que no devolverá ningun valor, por ejemplo para rellenar los barcos de un jugador (El codigo a continuación esta resumido y en forma de SEUDO CODIGO)
Como ven lo unico que hace es rellenar los barcos, por eso no necesitamos que devuelva ningun tipo de valor, de esta forma podemos evitarnos estar pensando todo para los 2 jugadores... De esta forma pasamos la variable como Jugador = 1 o Jugador = 2 y de esa forma se podria rellenar el Tablero 1 y el 2.
Se me fué a largo, pero subo el EJEMPLO terminado de la "Adivinanza de numeros en cierto numero de intentos"
Es el que hice hoy en el curso pero que mejoré un poco ahora. Esta hecho en VB.NET como pueden ver. Cualquier consulta será bienvenida.
Sobre el Codigo
A pesar de que sigue siendo muy basico lo que estoy haciendo, aqui agregué algunas cosas que no dimos en el curso aún (por lo tanto el que hace el curso y lo leé aun no las entiende). Y por cierto, la clase usada para limpiar la pantalla es la misma que utilizé en el Post de la Calculadora.