App Inventor: giochiamo? – ouverture

Wednesday, September 01st, 2010 | Author:
App Inventor logo

App Inventor logo

Poco tempo fa ho parlato di Google App Inventor, affermando che potrebbe essere utilizzato come ottimo strumento per fare didattica. Per dimostrare che effettivamente è così ho deciso di provare a realizzare un applicazione completa… come sempre, in questi casi, il fanciullo che è in me prende il sopravvento e decide di sua sponte cosa si deve realizzare: e come sempre e naturale la scelta ricade su un giochino (altrimenti che fanciullo sarebbe? 😉 ).

Volendo dare ascolto al fanciullo, in un dialogo interiore, tra me e  lui, decidiamo che giochino implementare e la scelta cade su un classico: il Motolabirinto (chi non sa cosa sia, corra ad affittare il film Tron della Disney). Naturalmente, non pensavo di realizzare chissà quale gioco complesso (anche perché App Inventor non è così avanzato 😉 )… mi sarei accontentato di una visuale dall’alto e una discreta velocità: in fin dei conti moltissimi anni fa ne avevo realizzato una versione per l’HP-48G… non avrebbe dovuto essere più complicato, realizzarne una versione equivalente per un dispositivo nettamente più potente. Sbaglio?  Si, sbaglio. L’impresa si è dimostrata subito infattibile per alcune limitazioni tecniche di App Inventor: nell’attuale versione non è possibile ne accedere allo “schermo” per leggere i lo stato dei pixel su di esso, ne utilizzare strutture dati “complesse” come le matrici (penso che sia possibile comunque trovare una soluzione ma ci devo pensare ancora un poco 😉 ). Date queste due limitazioni non mi era possibile gestire le collisioni tra le moto è i muri del labirinto 🙁 .

Dopo un primo momento di scoramento, si è quindi deciso di provare un altro classico (ma veramente classico doc): Pong. Se ero riuscito a farlo programmare a degli studenti di 4 superiore in J2MEnon avrebbe dovuto essere più complicato. Sbaglio?

No, questa volta non mi sbagliavo: il gioco poteva essere realizzato 🙂 .

Presa la decisione di cosa realizzare e di come realizzarlo bisognava solo investire il tempo necessario per farlo veramente… ma questa è un’altra storia 😉 Infatti, a questo primo post (se si c’è scritto ouverture, ci sarà un motivo… no? :p ), ne seguiranno altri (penso 3 o 4) che mostreranno, passo dopo passo, l’implementare del clone di Pong. Clone che per l’occasione e con grande fantasia ho deciso di chiamare Ping Pong ;). Le caratteristiche base di questo clone saranno:

  • grafica personalizzata (che richiama il gioco del ping-pong);
  • effetti sonori;
  • utilizzo del sensore di orientamento (presente in molti dispositivi Android) per il controllo della racchetta del giocatore.

Vi aspetto per i prossimi post…

… ma prima di lasciarvi vi lascio con un video che mostra la scena del Motolabirinto nel film Tron: buona visione 😉 .

Category: Android, Informatica
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
  1. Francesco says:

    Sono molto curioso! Aspetto con ansia il seguito 🙂

  2. Eros Pedrini says:

    @u: ciao e ben tornato 🙂 si ho visto i trailer di Tron Legacy… lo aspetto (anche se non sono particolarmente fiducioso) come penso tutti i Tron-dipendenti 😉

  3. Eros Pedrini says:

    @Francesco: ciao e grazie di essere passato 🙂 il “codice” è già pronto e testato 😉 … e ho cominciato a scrivere la prima parte 🙂 penso (spero) di riuscire a mantenere un post a settimana 😉

  4. jp says:

    Il film lo attendo impaziente, non fosse che c’è ancora Jeff Bridges nel cast…

    Quanto al gioco, sorry ma non sono Androizzato (per voglio gli screenshots!)… ^^’

  5. Eros Pedrini says:

    @jp: naturalmente ci saranno gli screenshot 🙂 ma non aspettarti nulla di che… con App Inventor non hai la libertà di fare tutto quello che vuoi 😉

    P.S. ti ricordo che però il gioco è il ping-pong 😛

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>