sábado, 1 de junio de 2013

Minimal Maze

Juego de laberinto altamente personalizable y minimalista, libre de publicidad.

Inclina tu teléfono o tableta a fin de llevar la bola hasta la meta verde en la esquina inferior derecha. (Este juego hace uso del acelerómetro del dispositivo.)

Al configurar algunos valores en la pantalla "opciones", esta app generará un laberinto bastante complejo, o también uno muy simple para que los niños lo pueden resolver. Lo que hay ahí tiene un carácter más bien experimental. Están permitidas algunas configuraciones que pueden ser contradictorias (como una bola más grande que el tamaño de la celda), y se pueden probar extremos tales como tableros grandes que pueden demorarse varios minutos en ser generados.

El juego propiamente dicho fue elaborado con la librería Processing.

Créditos
  • Generadores de laberinto basados en código hecho por Eliott J. Wiener, publicados bajo la Licencia CC BY-NC-SA 3.0. Para quienes crean que lo que únicamente hice fue copiar y pegar y listo, detras de cosas como manejar casos especiales en la interacción de la bola con el tablero, u optimizar el procesamiento para que la bola se moviera en forma fluida (al menos así lo observe en mis equipos de testing) requirieron de una buena dosis de trabajo adicional. Esas cosas no venían en los generadores iniciales. Hay un app en Play Store que implementa casi sin ningún cambio lo que hacía el código de Wiener: mostrar una animación de cómo el algoritmo generaba el laberinto. No obstante, el haber utilizado este código me ahorró una buena cantidad de tiempo de desarrollo.
  • Selector de colores procedente del proyecto devmil-android-color-picker, publicado bajo la licencia Apache License 2.0.
  • Clase "AppRater" para solicitar calificación de la app, fue una adaptación de este otro.









miércoles, 29 de mayo de 2013

Yet Another Car Parking Game

Mueve los demás carros para que el carro rojo pueda escapar. Puedes jugar cada tablero en cualquier orden, incluso empezando por los más difíciles. Completamente gratis y libre de publicidad.

Juego muuuy parecido a muchos otros que pululan por ahí. De momento, sólo me interesa demostrar la ejecución del juego utilizando la librería Processing y no le tengo los demás adornos que usualmente se colocan en juegos, como control de puntajes, sonidos y demás cosas.

Lo acostumbrado: sirve tanto para teléfonos como para tabletas, probado en versiones 2.3 y 4, y soporta cambios de orientación (lo cual no altera mucho las dimensiones, dado que el tablero es cuadrado).


Créditos
  • Al "innombrable"; amo, señor y legítimo usufructuador de la idea original de este juego, se le agradece haber hecho esto que fue tan interesante e inspirador.
  • Fotografía "Asphalt Texture" tomada por wlodi, publicada bajo la licencia Creative Commons BY 2.0.
  • Clase "AppRater" para solicitar calificación de la app, fue una adaptación de este otro.

miércoles, 6 de marzo de 2013

Alturas

Android App para medir alturas de edificios, árboles, postes, montañas, etc. haciendo uso de la cámara, acelerómetro y el GPS del smartphone.

Además de ello, cada subactividad podría usarse para otras cosas por separado: permite medir ángulos de inclinación/declinación con la cámara del dispositivo, medir distancias entre dos puntos geográficos y obtener coordenadas de longitud, latitud y altitud por medio de Google Maps y el GPS del dispositivo.

  • Soporta múltiples orientaciones de pantalla.
  • 5 métodos de medición implementados (entre ellos: paralaje, altura simple por tangente).
  • Textos en inglés y español (y estoy presto a colocar textos para otros idiomas, si alguien más quisiera colaborarme con la traducción).
  • Cambio de unidad de medida (sistema imperial o metros). Al cambiar la unidad no se borran las mediciones hechas previamente, lo cual permite realizar conversiones de unidades de distancia.
  • Como contingencia, permite el ingreso manual de ángulos y distancias.
  • Si está en movimiento, permite conocer la distancia a la que gradualmente se acerca o aleja de un punto fijo.
  • Tocando en pantalla, permite hallar la longitud y latitud en formato de microgrados (1E6) de cualquier sitio en el mundo, así también como la distancia geodésica entre dos puntos en cualquier parte del mapamundi.