linux123 ha scritto:
Ah comunque quando faccio eseguire il programma e metto a schermo intero, mi fa vedere proprio 50x50 senza problemi. Appena puoi, mi consiglieresti un modo per far muovere la biglia nella griglia?
Guarda un metodo semplicissimo, ovviamente dovresti arrivarci da solo perchè è veramente banale una volta capito...
1) hai disegnato una griglia 50x50 utilizzando una matrice che gestisci mediante l'uso di coordinate x y.
2) su una specifica coordinata, presa a caso, disegni una biglia al posto di un puntino della griglia.
3) ponendo il caso che: la coordinata x=riga, mentre corrdinata y=colonna, puoi fare che...
4) se vuoi muovere la biglia a destra di una posizione...... matrice(x,y+1)
5) se vuoi muovere la biglia a sinistra di una posizione..... matrice(x,y-1)
6) se vuoi muovere la biglia sopra di una posizione......... matrice(x-1,y)
7) se vuoi muovere la biglia sotto di una posizione......... matrice(x+1,y)
I movimenti li fai semplicemente cancellando il puntino dalla nuova posizione e mettendo al suo posto la biglia, ovviamente la sostituzione inversa dovrai farla anche per la precedente posizione della biglia.
Se vuoi che il tutto sembri quasi reale, devi cancellare lo schermo e ridisegnarlo ogni volta che fai un passaggio del genere.
Potrebbe capitarti che vedi lampeggi dello schermo, ma questo è dovuto proprio alla cancellazione e al ridisegno della griglia...
devi fare dei controlli con degli If , quando arrivi ai bordi della griglia, cioè se con l'aggiornamento della posizione della biglia sei già arrivato alla posizione matrice(49,49) ovviamente non puoi spostarti oltre... quindi con un controllo if indicherai al tuo programma che la biglia può solo indietreggiare... stessa cosa dovrai fare se la biglia si trova in una posizione limite verso l'alto, ad esempio: matrice(0,0)
Spero d'essere stato chiaro