Oppure

Loading
02/08/13 17:30
Progman
Salve a tutti,
vorrei sapere come creare un personaggio (es. un omino) che si possa muovere sotto comando.
Grazie
aaa
03/08/13 10:04
Poggi Marco
Ciao!

Che comandi devi gestire ? (Da mouse, tastiera, da disco ecc.)
L' omino è disegnato in modalità grafica o da terminale?
aaa
03/08/13 10:07
GN
Non conosco pasca, ma sicuramente ci saranno delle librerie grafiche, quindi ti consiglio di trovarne una e studiarla; solitamente, per lo sviluppo di un gioco la logica è questa: si scrive un loop che ogni volta cancella la superficie di disegno, la ridisegna, e legge l'input del giocatore. In pseudocodice, ecco una vaga idea di quello di cui hai bisogno:
Variabili: x, y (interi)
Inizio loop
  Disegna_sfondo()
  Disegna_personaggio(x, y) //disegna l'omino nella posizione specificata dalle coordinate
  Se Tasto_premuto(FrecciaSu) Allora y = y - 1
  Se Tasto_premuto(FrecciaGiù) Allora y = y + 1
  Se Tasto_premuto(FrecciaSinistra) Allora x = x - 1
  Se Tasto_premuto(FrecciaDestra) Allora x = x + 1
Fine loop
aaa
03/08/13 10:40
Progman
Intanto grazie a tutti. Comunque voglio gestire comandi da tastiera attraverso readkey. Preferibilmente vorrei usare la uses crt, ma mi rendo conto che forse è meglio la init graph. Per me è uguale
aaa
03/08/13 11:02
Poggi Marco
Dichiara una funzione che disegna il personaggio su certe cootdinate sulo schermo, con uno specifico colore.
Quindi, quando intercetti il comando, richiami la funzione con le vecchie coordinate e colore uguale allo sfondo - canceli l' omino - poi disegni il personaggio sulle nuove cordinate.
Ultima modifica effettuata da Poggi Marco 03/08/13 11:05
aaa
03/08/13 22:06
Progman
Ok grazie mille!! :)
Comunque scusa se rompo un pochinino, ma vorrei farti un'altra domanda sempre inerente a questo discorso:
posso in qualche modo creare una struttura dati in modo che tutti i componenti del personaggio(testa, braccia ecc.) si muovano con una sola istruzione, senza aggiornarne uno per volta?
Grazie e scusa
aaa
03/08/13 22:28
Poggi Marco
Certamente si.
Sicuramente puoi raggrupparli in un record
( pierotofy.it/pages/guide/Guida_Pascal/Il_tipo_derivato_record/ )
Oppure, definisci un oggetto
( pierotofy.it/pages/guide/Guida_Pascal/Le_classi/ )
In questo modo hai il vantaggio di unire i dati e funzioni.

Che compilatore utilizzi?
aaa
03/08/13 22:41
Progman
ho a disposizione dev pascal,free pascal e turbo pascal con dosbox(quest'ultimo però ha dei problemi, perché dopo la prima esecuzione di un programma si deve chiudere tutto e poi riaprire)
aaa