CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[c] space invaders [help]

poupstm2
poupstm2
Niveau 29
31 mars 2013 à 13:45:11

Salut à tous,

je dois réaliser pour mes cours un space invaders (en mode console, sans SDL) mais j'ai un problème au niveau de l'affichage.

actuellement j'utilise un Tableau de 4750 case ce qui est beaucoup trop lourd pour le programme apparemment puisqu'il s'affiche trop lentement (et rend l'affichage ignoble).

auparavant, j'utilisais un GotoXY qui faisait lui aussi "clignoter" l'affichage.

Quelqu'un parmi vous aurais une idée pour m'aider afin d'avoir un affichage plus fluide sans scintillement ?
Merci d'avance

Rikkel
Rikkel
Niveau 9
31 mars 2013 à 15:44:42

Tu as pensé au double buffering pour éviter les scintillements?

poupstm2
poupstm2
Niveau 29
31 mars 2013 à 15:53:48

au double buffering ?

actuellement j'ai un traitement très lourd (qui est la cause du scintillement):

d'abord je met le tableau à zéro (pour effacer les anciens mouvements)
ensuite je met à jour le tableau (pour mettre les nouveaux mouvements)
enfin, je fait un system("cls") et j'affiche le nouveau tableaux

le tout dans une fonction qui est appelé en boucle par :
- (toutes les 0,5 secondes) par un thread qui gère les ennemis
- à chaque fois qu'un mouvement est fait par le joueur pour son vaisseaux

Rikkel
Rikkel
Niveau 9
31 mars 2013 à 15:55:26

Tu es sûr que les scintillements sont dûs au traitement très lourd? Essaie de faire un tableau bien plus petit pour voir si ça accélère.

poupstm2
poupstm2
Niveau 29
31 mars 2013 à 16:02:04

il viens surtout du CLS suivit d'un nouvel affichage

le fait de ré afficher un tableau complet fait un léger scintillement
même avec un plus petit tableau.
j'avais ce même problème avec le gotoXY.

cmoinsmoins
cmoinsmoins
Niveau 7
31 mars 2013 à 17:49:23

c'est vrai que le CLS fait scintiller :(
Essaie de parcourir toute la boucle et de faire des putchar(" ")

cmoinsmoins
cmoinsmoins
Niveau 7
31 mars 2013 à 17:49:52
  • fenetre, pas boucle
godrik
godrik
Niveau 30
31 mars 2013 à 19:13:48

poupstm2, si tu utilise printf et cls pour faire ton affichage, c'est normal que ca scintille et que ca soit super moche. Les gens ne font pans ca comme ca.

Regarde du cote de la lib ncurses pour faire de l'affichage en console decent.

poupstm2
poupstm2
Niveau 29
01 avril 2013 à 01:14:40

je vais essayer de me documenter la dessus
merci :fish:

poupstm2
poupstm2
Niveau 29
01 avril 2013 à 17:07:19

la libraire ncurse m'as l'air pleine de possibilités, cependant je ne sais pas si nous avons le droit de l'utiliser, je vais demander au professeur si on à le droit de l'utiliser.

Merci :fish:

poupstm2
poupstm2
Niveau 29
04 avril 2013 à 16:32:36

pour finir, j'ai tout simplement enlevé le CLS;

j'utilise le GoTOXY pour me placer au tout début (en 0,0) et je ré affiche le tableau, il y'a plus qu'un léger décalage qui ressemble à celui qu'avais le jeux original.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment