Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2996 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  [C] Problème graphique en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Problème graphique en C

n°350555
sylsau
Posté le 02-04-2003 à 21:06:08  profilanswer
 

salut  
je programme en C sous turbo C (ouais je sais c un vieux compilo tout pourri lol mais ils y nous imposent ça à la fac ).  
Et j'ai un petit pb avec le mode graphique.  
 
En fait je fais un casse briques tout marche à peu près bien mais le déplacement de la balle se fait de manière saccadé.  
La balle (représenté par un cercle) se déplace comme il faut mais ça se voit qu'à chaque fois la position précédente est effacée.  
 
voici juste comme je fais descendre un cercle depuis le haut de l'écran :  
 

Code :
  1. // ceci est placé dans une boucle  
  2. // la fond d'écran est de couleur 1
  3. setcolor(1);     
  4. circle(100,y,1); 
  5. y=y+0.01;      // on incrémente la position en ordonnée  
  6. setcolor(15);     
  7. circle(100,y,1);


 
voilà donc ma question : comment enlever cet effet saccadé ? Il existerait pas une fonction dans Turbo C permettant justement d'enlever cet effet ?  
 
on m'a dit que ça proviendrait de la lenteur de rafraîchissement de la mémoire video en simple-buffering, la seule façon de supprimer cet effet étant d'utiliser le double-buffering.
Vous sauriez comment faire ?
 
merci d'avance  
a+  
 
sylvain

mood
Publicité
Posté le 02-04-2003 à 21:06:08  profilanswer
 

n°350591
Carbon_14
Posté le 02-04-2003 à 21:46:57  profilanswer
 

Si personne ne se manifeste, y a le principe sur http://www.brackeen.com/home/vga/unchain.html. Voir si code suffisant pour s'en sortir... :??:

n°350603
sylsau
Posté le 02-04-2003 à 22:16:13  profilanswer
 

Ouais le principe j'ai compris mais le code je comprends pas tout en fait.
Le x et le y qu'ils utilisent sont des float ou des int ?
Quelles librairies faut inclure pour que les termes VGA, INPUT_STATUS_1, VRETRACE soient reconnus par Turbo C?


Message édité par sylsau le 02-04-2003 à 22:17:33
n°351420
sylsau
Posté le 03-04-2003 à 13:01:21  profilanswer
 

up  :bounce:

n°351954
Carbon_14
Posté le 03-04-2003 à 18:38:01  profilanswer
 

J'ai pas regardé (manque de temps pour ça, prog que le soir).
 
Les spécialistes du DOS semblent partis à la retraite... :D

n°351982
sylsau
Posté le 03-04-2003 à 19:15:19  profilanswer
 

non ils finissent leur vieux jour dans ma fac et nous obligent à nous en servir  :lol:

n°359088
theshockwa​ve
I work at a firm named Koslow
Posté le 11-04-2003 à 17:06:59  profilanswer
 

Si tu utilises des BGI, c'est normal que ce soit lent ...
 
Tu es sous Dos, profite du mode 13h, il est très pratique ...
 
Tu bosses sur un buffer à côté et quand tu as fini, tu envoies le buffer sur l'écran (tu peux même attendre le VBlank pour être tranquille ...)

n°359175
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-04-2003 à 17:55:14  profilanswer
 


Oh la la !!! Mais pourquoi t'emmerder à ce point quand tu pourrais faire bien plus efficace :
 
1. Utilise le mode 13h (320*200*256)
2. Tu créé ensuite une zone mémoire ou le dessin sera effectué. Cette zone ne sera pas affichée à l'écran
3. Tu effaces cette zone
4. Tu fais tes opérations de dessin dans cette zone
5. Tu attends le VBL (=début de rafraichissement vertical de l'écran)
6. Tu bascules ton tampon en A000h
7. Retour au 3 tant que les conditions de défaite/victoire ne sont pas atteintes


---------------
J'ai un string dans l'array (Paris Hilton)
n°359177
theshockwa​ve
I work at a firm named Koslow
Posté le 11-04-2003 à 17:57:14  profilanswer
 

Harkonnen a écrit :


Oh la la !!! Mais pourquoi t'emmerder à ce point quand tu pourrais faire bien plus efficace :
 
1. Utilise le mode 13h (320*200*256)
2. Tu créé ensuite une zone mémoire ou le dessin sera effectué. Cette zone ne sera pas affichée à l'écran
3. Tu effaces cette zone
4. Tu fais tes opérations de dessin dans cette zone
5. Tu attends le VBL (=début de rafraichissement vertical de l'écran)
6. Tu bascules ton tampon en A000h
7. Retour au 3 tant que les conditions de défaite/victoire ne sont pas atteintes


 
c'est ce que je voulais dire ! :D

n°359181
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-04-2003 à 18:00:29  profilanswer
 

theShOcKwAvE a écrit :


 
c'est ce que je voulais dire ! :D


je viens effectivement de m'apercevoir que je me suis fait griller en beauté sur ce coup [:meganne]


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 11-04-2003 à 18:00:29  profilanswer
 

n°359188
theshockwa​ve
I work at a firm named Koslow
Posté le 11-04-2003 à 18:08:31  profilanswer
 

Harkonnen a écrit :


je viens effectivement de m'apercevoir que je me suis fait griller en beauté sur ce coup [:meganne]


 
On va dire que c'est pas tout à fait grillé : tu donnes quand même plus de précisions que moi ... :D
 
 
Allez, pour le coup, juste pour dire ...
 
Pour passer en mode 13h :
MOV AL, 13h
INT 10h
 
:D

n°359214
sylsau
Posté le 11-04-2003 à 18:51:10  profilanswer
 

j'ai trouvé une solution , j'utilise la fonction delay() et l'effet saccadé n'est plus là.

n°359377
theshockwa​ve
I work at a firm named Koslow
Posté le 12-04-2003 à 00:01:06  profilanswer
 

sylsau a écrit :

j'ai trouvé une solution , j'utilise la fonction delay() et l'effet saccadé n'est plus là.


:heink:
 
Tu serais pas en train de nous dire que tu rejette notre belle solution commune, là ? Ca te plait pas, le 13h ? ;)


---------------
last.fm
n°359379
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-04-2003 à 00:02:54  profilanswer
 

[:leg9]  
encore un qui ne sait pas ce qu'il loupe...


---------------
J'ai un string dans l'array (Paris Hilton)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  [C] Problème graphique en C

 

Sujets relatifs
Gros probleme avec un tableau[Resolu (Merci MagicBuzz)] Problème pour lire un flux de byte en C#
phplib problèmeproblème d'actualisation
[PHP]Probleme de download de fichier débugger moi STP ! c pr les pro ![HTML] Problème avec la balise <table>
probleme de fichier include[mysql]probleme d'insertion pour mysql
Problème avec un appel de fonctionprobleme avec JPopupMenu
Plus de sujets relatifs à : [C] Problème graphique en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR