Corso di Laboratorio di Applicazioni Mobili, A.A. 2013/2014

Corsi di Laurea in Informatica per il Management (corso a scelta, mutuato per Informatica)

Docente: Luciano Bononi

Sono comunicate di seguito alcune informazioni sulle 
Specifiche dei progetti di base per il corso di Laboratorio di Applicazioni Mobili, A.A. 2013/2014.

Per coloro che consegnano il progetto principale in ambiente iOS seguono alcune specifiche sommarie di progetto 
che consentono una predeterminata validità del progetto a partire dalla scadenza di Giugno 2014. 
Ricordo comunque che tutti gli studenti sono tenuti a conoscere le esercitazioni svolte in aula con entrambe 
le piattaforme iOS e Android, e che tali esercitazioni possono essere oggetto di domande all'esame.

- iOS1: progetto "spaccaquindici": realizzare un'applicazione che mostri una finestra di scelta di almeno 3 immagini. 
Una volta selezionata un'immagine, una nuova vista mostrerà l'immagine divisa in 16 caselle, di cui una vuota, disordinate. 
L'utente deve toccare le caselle che intende spostare nella posizione vuota, attivando un timer che conta il tempo trascorso, 
e che verrà fermato a indicare il tempo necessario per l'ordinamento completo dell'immagine. 
Si noti che per ottenere un'immagine riordinabile è necessario partire dall'immagine ordinata, disordinandola second
passi randomizzati sequenziali.
Il progetto dovrà comprendere almeno un navigation controller. Non ci sono limiti superiori alla complicazione 
(es. inserire nome del giocatore, gestire un DB di utenti, aumentare la matrice 4x4 a 5x5 ecc., acquisire immagini da 
flickr, pubblicare i tempi recordo su facebook, inviare tweet, ecc.)

- iOS2: progetto "forza-N", simile al noto "forza-4" o tic-tac-toe (occorre mettere in fila un numero N di simboli 
giocando uno contro l'altro), oppure un drawer di figure geometriche che consenta di disegnare geometrie, modificarne 
la dimensione, colore e riempimento, salvando l'immagine in formato grafico. Il progetto dovrà comprendere 
almeno un navigation controller. Non ci sono limiti superiori alla complicazione (es. rendere possibile la partita 
uno contro l'altro anche da remoto, inserire nome del giocatore e tenere traccia del numero di vittorie, gestire un 
DB di utenti, pubblicare i tempi recordo su facebook, inviare tweet, ecc.) 

- iOS3: progetto "briscola": realizzare il gioco della briscola utente vs. computer. Non si richiede una strategia 
accurata di gioco lato PC ma il PC non può giocare carte a caso. Ad esempio, è opportuno che il PC abbia almeno un
a minima nozione di logica del gioco almeno per i punti seguenti: usare la briscola piu bassa per prendere una mano, 
usare una carta più alta dello stesso seme per "strozzare" una mano senza usare briscola, tenere traccia dei carich
già giocati e giocare le carte dei semi corrispondenti quando si è i primi a giocare (per evitare strozzature).
 Il progetto dovà comprendere almeno un navigation controller. Non ci sono limiti superiori alla complicazione 
(es. inserire nome del giocatore, gestire un DB di utenti, variare nella versione a 3 e 4 giocatori (a coppie) dei 
quali uno sia il PC, pubblicare i tempi recordo su facebook, inviare tweet, ecc.)

- iOS4: progetto campo minato: viene mostrata una griglia di caselle MxN, delle quali K scelte a caso ad ogni riavvio, 
K = 0,33*(M*N) contengono una bomba. L'utente avvia il gioco (parte un timer) e tocca una casella e la casella si 
rivela nel suo contenuto: se la casella selezionata è una bomba il gioco termina (partita persa), mentre sela
casella c selezionata è libera, tutte le 8 caselle libere adiacenti a c (c1,c,..., c8) mostrano un valore inteor 
che corrisponde al numero di bombe adiacenti ad ogni casella (ovvero con quante bombe è in contatto la casella, 
mostrano la bomba nel caso essa vi sia contenuta (bomba scoperta ma non esplosa). Dalle informazioni sui contatori 
l'utente deve cercare di toccare tutte e solo le caselle libere, arrivando a scoprire tutte le bombe. 
Il gioco termina quando tutte le bombe sono scoperte e il timer mostra il tempo necessario a risolvere con successo 
il gioco. Il progetto dovrà comprendere almeno un navigation controller. Non ci sono limiti superiori alla 
complicazione (es. inserire nome del giocatore, gestire un DB di utenti, aumentare la matrice MxN ecc., pubblicare 
i tempi recordo su facebook, inviare tweet, ecc.)

Ricordo che le date relative alle scadenze e le regole per lo svolgimento e per la sottomissione e presentazione dei progetti del corso: 66860 - Laboratorio di Applicazioni Mobili sono disponibili a questo link.