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

Casse-brique en C

TNToon
TNToon
Niveau 9
11 décembre 2006 à 18:14:48

Bonjour bonjour :) , je suis en train de programmer un casse-brique en C, et c´est beaucoup plus dur que ce que je pensais :p) !
J´en suis au début, la balle rebondit sur le cadre de l´écran quoi :content: :
http://perso.club-interneet.fr/jujucorn/cassebrique.rar
Mais bon voilà, je l´ai envoyé à un ami qui a un ordi avec un processeur 1Ghz et le jeu rame chez lui (il avait surement internet et msn en route). J´aimerais savoir ce qu´il en est chez vous car je ne rencontre aucun problème. Merci !

TNToon
TNToon
Niveau 9
11 décembre 2006 à 18:15:50

Désolé, je me suis pas relu et le lien est faux, en voilà un bon :
http://perso.club-interneet.fr/jujucorb/cassebrique.rar

Fvirtman
Fvirtman
Niveau 10
11 décembre 2006 à 18:45:18

si tu veux un casse brique SDL assez compact, va voir mon tuto, §2.A.3 Noid.

elhuron
elhuron
Niveau 6
11 décembre 2006 à 20:49:21

Lu :)
Sur mon vieux PC, la balle met 18 secondes environ pour toucher deux fois la barre.
(Il date de 98, ca te donne une idee, avec 500MHz)

TNToon
TNToon
Niveau 9
11 décembre 2006 à 20:50:55

Ouch c´est quand même très long !

adn59
adn59
Niveau 7
12 décembre 2006 à 07:57:30

Lu TNToon , chez moi je ne vois pas de ralentisememnt; la balle met dans les 5secondes (a vue de nez) pentium4 3.2GHz et 1Go de ram

Fvirtman
Fvirtman
Niveau 10
12 décembre 2006 à 08:50:27

Je sais peut etre d´ou vient cet écart.
C´est une erreur classique :

Je parie que, a chaque frame, tu fais y+1 pour la balle (par exemple).
Du coup, si ton PC est capable de faire + de 100 frames par secondes (en fenetré, y´a pas de syncrho verticale), alors la balle a l´impression d´aller a vitesse optimale.

Mais sur un ordi moins puissant, capable de gérer "seulement" 50 frames par secondes, ça paraitra lent, alors qu´en fait, c´est un tres bon frame/secondes.
Et sur un PC plus puissant, ça ira trop vite...

Calculons :
Si tu fais +1 a chaque frame, a 50 frames par secondes, en résolution 1024*768, il te faut 768/50 ~ 15 secondes pour traverser l´écran -> impression de lenteur alors qu´il n´en est rien.

J´espere que tu vois le dilemne :-)

Résolution : faire un déplacement qui s´appuie sur l´horloge du PC, et non sur les frames. La, tu es sur que tu iras a la meme vitesse chez tout le monde :)

TNToon
TNToon
Niveau 9
12 décembre 2006 à 18:45:48

Avec SDL_GetTicks() et tout ça ? :) J´espère que c´est la solution !

guyver2
guyver2
Niveau 10
13 décembre 2006 à 00:02:07

effectivement c´est la solution.
tu fixe le nb de mouvement par seconde. (N) et tu fais un truc du genre

while(1) // la boucle de ton jeu
{
temps_1 = SDL_GetTicks();
//--- tes instructions

while(SDL_GetTicks()-temps_1 > 1000/N) { redessine
la fenetre}
}//fin de la boucle du jeu

tu n´est pas obligé de redessiner la fenetre dasn
le 2eme while, vu que rien n´a bougé mais c´est juste pour passer le temps

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