PDA

View Full Version : Progetto Assembly per Mips HELP!!!!


al3xx
31-03-2008, 21:35
Ciao a tutti, sono nuovo del forum ma devo subito chiedere il vostro aiuto...e molto anche...!!
Per un esame devo svolgere questo progetto:

Si scriva un programma nell’assembly per MIPS, operante sul simulatore SPIM,
che simuli il gioco dei 15. Si richiede all’utente di inserire 15 valori numerici
dall’1 al 15 in ordine sparso. Il programma deve controllare che non ci sinao
ripetizioni e che siano stati inseriti tutti i numeri. Deve quindi generare la
matrice 4x4 che contenga i numeri e uno spazio vuoto nel vertice in basso a
destra, come nella figura:

######colonne########## 1 | 2 | 3 | 4
#################### 1 7 | 5 | 2 | 10
######righe########### 2 12 | 6 | 1 | 11
##################### 3 4 | 3 | 13 | 9
##################### 4 14 | 8 | 15 | - (casella vuota)

Figure 1: Un esempio di schema iniziale di gioco
Ad ogni mossa il giocatore deve inserire le coordinate di un numero da spostare
e le coordinate della cella vuota. Gli spostamenti devono avvenire solo tra celle
adiacenti. Per ogni mossa il programma deve determinare
• la correttezza della cella da spostare (le coordinate devono essere contenute
all’interno della matrice e devono riferirsi a una cella piena)
• che la destinazione sia effettivamente la cella vuota (le coordinate non
devono puntare n`e verso celle piene, n`e all’esterno della matrice)
• il salto sia corretto (non possono essere scavalcate celle, la cella di origine
e la cella vuota devono essere adiacenti in verticale o in orizzonatle ma
non in diagonale)
Ad ogni mossa deve essere disegnata la matrice aggiornata. Il gioco termina
quando tutte le tessere sono in ordine numerico crescente, da sinistra verso destra
e dall’alto verso il basso. Questo controllo deve essere fatto ad ogni mossa
dell’utente. Il programma deve anche calcolare il numero di mosse utilizzate dal
giocatore e stamparlo al termine dell’esecuzione. Deve essere possibile ricominciare
il gioco. Devono essere usate delle procedure ricorsive.

Premettendo che non son proprio in grado di svolgerlo e che ho solo 5 giorni di tempo per farlo chiedo... anzi imploro il vostro aiuto!!

Grazie a tutti quelli che potranno darmi una mano!
Grazie ciao!

cionci
01-04-2008, 11:11
Non si può chiedere la risoluzione di interi esercizi su questo forum. Vedi regolamento.