In questo capitolo realizzeremo un piccolo gioco a scorrimento verticale, sfruttando quanto imparato nei capitoli precedenti. Lo scopo del gioco è quello di muovere la nostra nave per evitare l'impatto con gli asteroidi che, a intervalli di tempo casuali, appariranno dall'alto.
Ogni volta che un asteroide uscirà dal lato inferiore dello schermo senza aver colpito la navicella farà aumentare il punteggio di un punto. In caso di collisione, invece, il gioco terminerà (niente extra lives insomma!).
Per quanto semplice, questa applicazione ci permetterà di affrontare alcuni argomenti di grande importanza nello sviluppo di un gioco in XNA. In primo luogo, prenderemo un pò di confidenza con il concetto di "collision detection", ossia con quegli algoritmi che consentono di determinare quando due "oggetti" (siano essi sprite 2D o modelli 3D) entrano in contatto.
In secondo luogo, vedremo come implementare l'uso dell'accelerometro per muovere la nostra navicella a destra e sinistra, nonché un semplice meccanismo di touch per passare da uno stato di gioco all'altro.
Infine, impareremo ad accedere all'Isolated Storage del nostro device per salvare (e recuperare) i migliori punteggi.