Cuando vivimos / codificamos, ¡aprendemos!Si eres desarrollador, ya eres … | por Tilamprinos | Octubre 2021
Si eres desarrollador, ya sabes cómo aprender, mejorar tus habilidades y ampliar tus conocimientosnorteOwledge es una de las cosas más importantes que se deben hacer para permanecer en el juego. Excepto, por supuesto, si quieres dejar tu trabajo y comenzar una nueva y emocionante carrera como adiestrador de perros, esto es algo que considero seriamente (aunque debes continuar estudiando allí también … ¡no hay escapatoria!). A veces, definitivamente quieres aprender algo nuevo o mejorar de otras maneras, pero cada vez hay una «excusa» para detenerte. ¿Es por falta de tiempo? ¿Es por la presión del trabajo? ¿Es porque tu cerebro está quemado, o incluso por aburrimiento? (Sí, sí, puede que sea tu peor enemigo). Quizás algunas de estas cosas pueden ser la razón que lo mantiene rezagado.
Día de cumplimiento
Afortunadamente, Beat (mi lugar de trabajo) tiene en cuenta todas estas cosas y nos proporciona muchos métodos de desarrollo, como el día de cumplimiento de Beat. Un viernes fijo de cada mes, podemos pasar un día entero aprendiendo cosas nuevas, desarrollando algunas de nuestras habilidades, solos o en pareja con algunos de nuestros colegas, e incluso organizar el aprendizaje en grupo como hackatones.
El auge de los desafíos
Así que aproveché esta oportunidad y comencé a aprender más sobre las novedades más populares del mundo de Android. No, no me refiero al nuevo teléfono Pixel, sino a la biblioteca Jetpack Compose. Después de una lluvia de ideas y muchas ideas de proyectos «súper geniales» con mi mentor de programación (sifou) George Theocharis (consulte su artículo), se nos ocurrió este gran desafío: ¡El desafío del juego Beat Snake! Acepta el desafío y los resultados son los siguientes:
Batir el juego de la serpiente (Beat Games)
Con Jetpack Compose, desarrollar juegos para Android es más fácil que antes. Así que ¿por dónde empezamos? Para que nuestro juego de serpientes cobre vida, ¿qué es lo primero que debemos lograr? Es la junta directiva. Entonces pensamos que nuestro tablero es una lista de celdas.
El segundo paso que debemos dar es, por supuesto, la propia serpiente. También pensamos en nuestra serpiente como una lista de células.
También nos divertimos un poco mientras exploramos el lienzo Compose para implementar nuestro joystick. Eche un vistazo rápido a los botones de la izquierda:
El tercer paso es comida para serpientes. No crecerás sin comer. La comida para nuestro taxi (serpientes) o mejores pasajeros son algunas celdas de colores aleatorios dentro de nuestro tablero:
Finalmente, hicimos mucha refactorización (algunas buenas, otras malas), agregando componentes y detalles finales aquí y allá, y llegamos al final:
Sí, finalmente logramos el desafío y nació el juego Beat Snake. Pero, ¿por qué detenerse ahí? Como desarrollador de Android curioso, siempre he querido ir más allá de los límites del entorno de Android y explorar las enormes incógnitas del universo back-end. Afortunadamente, con el apoyo de Kotlin, esta aventura es más posible para mí que nunca. Después de respirar profundamente y leer muchos artículos, logré conectar todo (front-end y back-end) e implementé la API Beat Snake con la ayuda de la biblioteca Ktor.
Batir la API de la serpiente
Para esta parte del proyecto utilicé:
- Ktor para API
- MongoDB para base de datos
- Servidor de implementación de Heroku
Este es el código principal del servidor:
Consejos adicionales: Código VS Editar y Cliente de descanso El complemento es una muy buena solución para probar el código de back-end. Con solo unas pocas líneas, puede realizar una llamada al servidor y obtener una respuesta en el mismo lugar. Encontré que era más conveniente y más rápido que Postman, al menos para este pequeño proyecto. A continuación se muestra un ejemplo:
¿Esto es el fin?
Como todo el mundo sabe que 1 es igual a 0, pasamos a otra implementación del juego.esta Cuatro puntos juego.nuestro Siguiente retoFunción de juego multijugador en línea y fuera de línea. Antes de eso, lo pasarás bien (pero no limitado a) que excede los límites de la codificación.
Para obtener más información, puede consultar mi repositorio de Github: