Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Disegnare un punto su un mio
Forum - C/C++ - Disegnare un punto su un mio "evento"

Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 18:31
Mercoledì, 04/05/2011
Salve,
sto cercando di fare degli algoritmi di sorting visuale con la libreria sdl.
Come questo: http://it.wikipedia.org/wiki/File:Bubble_sort_animation.gif

Tuttavia non riesco ad aggiornare il disegno in quanto ad un certo punto dell' algoritmo è necessario ridisegnare i punti ma non riesco perchè il programma gira in un ciclo for infinito che corrisponde al ciclo del programma e io non so come aggiornare la situazione perchè io devo disegnare la situazione quando avviene uno scambio nel vettore e non ad ogni giro del ciclo del programma.

Come posso risolvere questo problema?

P.s.
Il codice non lo posto in quanto è più un problema teorico che di codice
P.p.s.
Spero di essermi spiegato bene, se non avete capito dite pure e ci riprovo...

Grazie :k:

PM Quote
Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Segnala al moderatore
Postato alle 19:31
Mercoledì, 04/05/2011
secondo me dovresti separare le due cose..grafica e algoritmo.. magari crei delle funzioni per l'algoritmo che prendono come parametri delle classi che descrivono i punti tipo

Codice sorgente - presumibilmente C++

  1. class Punto{
  2.  public :
  3.   . . .
  4.  
  5.  protected :
  6.   float x,y;
  7.    
  8. };



e modificano le loro coordinate, mentre nel main loop ti occupi di disegnare un punto su quelle coordinate.
nel main avrai una cosa del genere

Codice sorgente - presumibilmente Plain Text

  1. while(<condizione>){
  2.   . . .
  3.   algoritmo_posizione_punti(array_di_punti);
  4.   disegna_punti(array_di_punti);
  5.   . .
  6.  }


PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 20:18
Mercoledì, 04/05/2011
Devi far girare il tuo algoritmo in un altro thread.


Il mio blog: https://piero.dev
PM Quote
Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 7:28
Giovedì, 05/05/2011
Grazie delle risposte, ho capito.
Tuttavia avrei preferito una funzione drawPixel(x,y,color) da mettere nello scambio.
Comunque ora ci proverò.
Ho solo ancora una piccola domanda:
Ho usato le SDL perchè la grafica in pascal andavi a scatti e si vedeva che ci metteva tanto a fare il refresh... con le sdl questo accade? Se sì, si può evitare?

PM Quote
Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Segnala al moderatore
Postato alle 18:08
Venerdì, 06/05/2011
Testo quotato

Postato originariamente da XBarboX:

Grazie delle risposte, ho capito.
Tuttavia avrei preferito una funzione drawPixel(x,y,color) da mettere nello scambio.
Comunque ora ci proverò.
Ho solo ancora una piccola domanda:
Ho usato le SDL perchè la grafica in pascal andavi a scatti e si vedeva che ci metteva tanto a fare il refresh... con le sdl questo accade? Se sì, si può evitare?



sicuramente le SDL sono molto più performanti del pascal :k:

PM Quote