jueves, 18 de febrero de 2016

¡Programando en NetBeans! Adivina el número.

     Bienvenido de nuevo, en esta ocasión crearemos un juego en donde el usuario tendrá que adivinar el número que la computadora "piensa", para esto necesitamos importar librerías, una se Scanner que servira para registrar valores de el usuario, y una llamada Random que nos dará la opción de seleccionar un número aleatorio entre un rango definido.
     Para crear el código primero crearemos un nuevo, proyecto, esta vez lo realizaremos en el main y así entender la lógica, para después ocuparlo con objetos. Nuestro proyecto se llamará AdivinaElNumero. Como se puede ver en el recuadro de la imagen 1 hay dos comandos, los cuales son las librerías que comentaba hace unos momentos y como puedes ver, estas librerías se colocan antes del public class y por supuesto del main.
Imagen 1. Proyecto AdivinaElNumero
     Ahora empezaremos a escribir el código de el juego, como puedes ver es un código muy pequeño. En el recuadro 1 de la imagen 1.1 se crearon dos variables int. En el recuadro 2 creamos un nuevo objeto a partir de la librería Scanner y un nuevo objeto Random a través de la librería Random, después a "x" se le asigno el objeto Random con un intervalo de 1 a 1000. En el recuadro 3 solo imprimimos una instrucción para el juego. Quizás te llame la atención lo que se ve en gris, a esas letras en gris se les llama comentarios y se activan poniendo dos (/) antes de lo que quieras escribir, esto es ignorado por el compilador asi que no te marcara error.
Imagen 1.1.
     En estos pasoS empieza el sentido del juego, pues ocuparemos un do-while (hacer mientras) el cual es todo el recuadro azul de la imagen 1.2, dentro del do-while tenemos asignando a "a" el objeto Scanner creado anteriormente,en el recuadro 2 ocupamos una condición if primero para establecer que si "x" es igual a "a" imprima "acertaste" en el recuadro tres ocupamos el else (si no) y dentro de el un if el cual establece que si "x" es menor a "a" imprima "el número es mas pequeño" y "vuelve a intentarlo, en el recuadro cuatro ocupamos el último else el cual al parecer no tiene condición, pero en si accionará cuando las condiciones anteriores no se cumplan, es decir cuando "x" sea mayor a "a" e imprimirá "el numero es mas grande" y "vuelve a intentarlo". Ahora en el recuadro cinco es donde viene la magia, colocar la condición del while, todo el código anterior (que este dentro del do-while) se repetirá mientras "a" sea diferente de "x"  cuando "a" sea igual a "x" el programa se parará y te dira "acertaste".
Imagen 1.2.
     Y es así como creamos nuestro primer juego, como vez la lógica es muy sencilla, te espero en el siguiente post. Hasta luego.

miércoles, 17 de febrero de 2016

¡Programando en NetBeans! Plano cartesiano

    En un post anterior hablamos sobre la Geometría Computacional, ahora hablaremos del código base para poder realizar lo anterior, es decir crearemos puntos y lineas.
    En primer lugar tenemos que crear un nuevo proyecto y dos clases, al proyecto lo llamaremos "PlanoCartesiano" y a las clases "Punto" y "Linea".
Imagen 1. Nuevo proyecto.
     Primero nos centraremos en la clase punto. En el recuadro 1 declararemos las propiedades privadas X y Y las cuales hacen referencia a las dos dimensiones manejadas en un plano cartesiano. En el recuadro dos creamos un constructor con dos parámetros de tipo entero, en el recuadro tres inicializamos a X y Y en 0 y en el recuadro cuatro creamos un método que nos devolverá un resultado en cadena.
Imagen 1.1. Declaras propiedades y constructores
     Ahora ocuparemos los metodos get y set (mostrar y modificar).

Imagen 1.2. Métodos get y set.
    Ahora para finalizar esta clase crearemos un método cuadrante el cual tendrá en él un condición if para definir en que cuadrante se encuentra el punto.
Imagen 1.3. Condición if.
     Continuaremos en la clse Linea en donde podremos declarar coordenadas que trazaran una linea imaginaria por ahora, asi como también encontraremos su distancia.
    Primero invocaremos a la clas punto con su constructor con 2 parámetros enteros tal y como se muestra en el recuadro 1, en el recuadro 2 y 3 crearemos dos objetos linea con las clase punto. En el recuadro 4 crearemos un método que realice la operación de distancia el "double" se utiliza como un float pero es para cantidades grandes y en el recuadro 5 haremos un método que nos devuelva un valor en cadena.
Imagen 2. Clase linea.
     Y nuevamente ocuparemos los métodos set y get pero para a y b.
Imagen 2.1 Métodos set y get.
    Así terminamos la clase Linea y ahora sí podemos ir hacia el "main" aquí sólo mandaremos a imprimir a mis puntos, su cuadrante, mi linea y mi distancia.
Imagen 3. Código para imprimir.
Imagen 4. Final código.
     Así termina el proyecto plano.
Imagen 4.1. Resultado del código.

Espero les alla servido, los veo en el siguiente post. Hasta luego.

¡Programando en NetBeans! Reloj

     Hola! en este post realizaremos nuestro segundo programa, ahora crearemos un reloj, será la base, o el inicio para crear un programa para un ciber, es decir, nuestro programa realizara una suma de horas, y realizara un conteo continuo, todo esto lo haremos en una clase para después solo llamarlos al main.
     El primer paso es crear un nuevo proyecto, el cual llamaremos "Reloj", y dentro del mismo proyecto crearemos la clase (si eres nuevo en NetBeans te recomiendo visitar el post anterior), ala cual llamaremos "Hora" quedando de la siguiente manera.
Imagen 1. Nuevo proyecto y pestaña principal (main).
     La clase quedaría así.
Imagen 1.1. Clase Hora.
     Una vez creado nuestro main y nuestra clase empezaremos a escribir el código en la clase. En recuadro 1 de la imagen 1.2 declaramos tres propiedades privadas que rigen el funcionamiento de nuestro reloj, como se puede ver las propiedades son hora, minuto y segundo. En el segundo recuadro creamos el constructor hora, el cual inicializa a nuestras propiedades en 0, pues nuestro reloj debe empezar de 0. En el tercer recuadro vemos el constructor con tres parámetros enteros, también lo podemos llamar modificador de acceso publico pues nos servirá para ingresar a las propiedad privadas declaradas al inicio. en el recuadro 4 creamos un método que nos retorna valores en cadena, es por eso que lleva el "String toString".
Imagen 1.2. Código en la clase.
     Ahora crearemos los métodos "get" (mostrar) y set (modificar) para nuestras propiedades privadas hora, minuto y segundo.
Imagen 1.3. Meet

    En el recuadro 1 de la imagen 1.4 continuaremos creando un método que hará avanzar a nuestro reloj, el cual se llamara avanzar, dentro de él abra una condición "if" (si) que hará el conteo de 59 segundos y el segundo 60 lo regresará a 0, como en los relojs convencionales, esto también lo hará con los minutos y con las horas regresando la hora 23 a 0. En el recuadro dos se crea un método que obligara a incrementar los segundos.
Imagen 1.4. Método avanzar.

    En el recuadro 1 de la imagen 1.5 se crea un método que comparará dos horas, esto con el fin de poder ordenar dos horas para realizar una resta y nos devolverá la diferencia entre dos horas que nosotros elijamos. En el recuadro 2 crearemos un "private static" el cual es un método con solo una copia en toda la clase, este método resta los segundo, minutos y horas de forma ordenada retornandonos un nuevo objeto hora.
Imagen 1.5. Método comparar y Static.
     Por último, dentro de la clase crearemos un método que realice la resta y otro que realice la suma de horas, las dos deberán devolver un resultado, ambos métodos se muestran en los recuadros 1 y 2 respectivamente de la imagen 1.6..
Imagen 1.6. Método suma y resta.

     Una vez creada nuestra clase, regresaremos al "main" para poder inicializar nuestros constructores y métodos así como nuestra clase.
     En el recuadro 1 de la imagen 1.7 creamos nuestros objetos con parámetros y sin. En el recuadro dos simplemente imprimimos nuestros objetos con los parámetros dados. En el 3 invocamos los métodos y en el 4 imprimimos el método invocado que en este caso es un incremento de un segundo en cada objeto.
Imagen 1.7. Creación de objetos e invocación de métodos y constructores.
     En la imagen 1.8 en el recuadro 1 invocamos el método comparar, para después a través de una condición "if" podamos imprimir que hora es la mayo o menor entre dos objetos, en el recuadro 2 invocamos los métodos de suma y se imprimen sus resultados y por ultimo se tiene el avance continuo del reloj en el recuadro 3 el cual se crea a través  de un "do while" (hacer mientras).
Imagen 1.8. Imprimir suma y resta y crear condición do-while.
    Es así como finaliza este post esperando te allá servido, gracias y nos vemos en el siguiente post!