Como no todo va a ser trabajar hoy voy a mostrar cómo podemos desarrollar el clásico juego de la serpiente (Snake) en una simple aplicación de consola.
Así que para empezar abriremos el Visual Studio y crearemos una nueva aplicación de consola llamada Snake y crearemos una enumeración Direction para establecer las cuatro direcciones posibles que puede tomar nuestra serpiente en el archivo de código que Visual Studio crea por defecto en la aplicación (Program.cs/Module1.vb):
A continuación definiremos las variables que mantendrán el estado de la aplicación y su estado inicial al inicio del método Main:
La variable score mantiene la puntuación.
La variable speed establece la velocidad a la que se moverá la serpiente, en concreto el número de milisegundos entre un movimiento y otro.
La variable foodPosition establece la posición en la que aparece la comida para la serpiente. Se inicializa a Point.Empty así que al inicializar la pantalla no se mostrará.
La variable screenSize establece el tamaño de la pantalla con un ancho de 60 posiciones y una altura de 20.
La variable snake mantendrá las diferentes posiciones ocupadas por la cola de la serpiente. Se crea como un objeto Queue que implementa una cola First In First Out. He elegido este tipo de objeto porque es el que más se ajusta al comportamiento de la serpiente: se van añadiendo las nuevas posiciones que ocupa la cabeza de la serpiente a la cola y, para ajustar la serpiente a una longitud, se eliminan las últimas de la cola, es decir, las primeras en añadirse.
La variable snakeLength establece la longitud inicial de la serpiente.
La variable currentPosition establece la posición actual de la cabeza de la serpiente.
Por último la variable direction establece la dirección en la que se moverá la serpiente.
Dibujar la pantalla
A continuación realizaré una llamada al método DrawScreen pasándole como argumento el tamaño de la pantalla definido en la variable screenSize.
Este método define la ventana con un tamaño dos posiciones superior al definido en screenSize, tanto en el ancho como en la altura. De esta forma podré establecer un borde de una posición alrededor de la pantalla de juego.
Esto lo hago por dos motivos principales. Uno, el poder utilizar la línea superior de la pantalla para mostrar la puntuación del juego, y dos, para no tener que escribir caracteres en la última línea de la pantalla. Evito esta última línea porque al escribir en la última línea la aplicación crea una nueva línea automáticamente y hace scroll.
Para establecer un borde blanco sin escribir en esta última línea lo que hago en el método DrawScreen es establecer el color de fondo blanco y llamar al método Clear del objeto Console de forma que toda la pantalla queda blanca. A continuación establezco el fondo negro y dibujo la superficie del juego escribiendo espacios en cada línea:
Para acabar de dibujar la pantalla llamaré al método ShowScore que se encargará de mostrar la puntuación actual en la primera línea de la pantalla, que ya hemos establecido como borde y que no formará parte de la superficie del juego.
Si ejecutamos la aplicación a estas alturas podremos ver la pantalla preparada para iniciar el juego:
En el siguiente artículo veremos cómo dibujar la serpiente y dotarla de movimiento para completar el juego.
Artículos siguientes:
Juego Snake en aplicación de consola (y II). La serpiente.
El código completo tanto en C# como en Visual Basic .NET está disponible en:
Códigos de muestra - Ejemplos MSDN. Juego Snake en aplicación de consola
ghjklgjhvgfkhbvbnvvjhgbdfhgfjhgcooooooooooooooooooooooooooooooooooooooool, sigue así te admiro jajajajajajajasjajajajhjajajajajajajajasjajajajajajajajjaahajjaja a
ResponderEliminarno anda en vb
ResponderEliminar