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

J´aide les personne en C/C++

cobradu94
cobradu94
Niveau 6
17 janvier 2005 à 20:36:35

Comment tester le temps avec la librairie Allegro. Par exemple : 3seconde apres que j´ai appuyer sur left. Comment transformer sa en c++ avec allegro, ou une autre librarie compatible avec allegro.

JeanYvesYves
JeanYvesYves
Niveau 10
17 janvier 2005 à 22:16:39

Je ne connais pas Allegro :
mais si tu as une fonction qui détecte l´appui d´une touche, une autre qui detecte quand tu la relaches, et une autre qui compte le temps, tu peux faire ton affaire :
a l´appui d´une touche, tu mémorises le temps, quand tu la relaches, tu fais une soustraction entre le temps actuel et le temps mémorisé auparavant, et tu sais depuis combien de temps tu la maintiens...

cobradu94
cobradu94
Niveau 6
17 janvier 2005 à 22:19:43

Mais je ne connais pas la fonction qui memorise le temps

JeanYvesYves
JeanYvesYves
Niveau 10
17 janvier 2005 à 22:22:18

pas qui " mémorise le temps", mais qui te dit a quel temps tu es.
Pour SDL, par exemple, c´est :

long SDL_GetTicks();

cobradu94
cobradu94
Niveau 6
17 janvier 2005 à 22:26:28

Mais je sais pas faire sa avec allegro, je vais essayer de chercher un peu partout jusqua trouver ce que je veux ( c´est bon je n´en n´est plus besoin j´ai reussi a faire ce que je voulais sans l´utiliser) maintenant c´est juste au cas ou j´en ai besoin, on sais jamais.SInon merci quand même

JeanYvesYves
JeanYvesYves
Niveau 10
17 janvier 2005 à 22:28:08

ça doit exister une fonction sous allegro qui compte le temps :

sinon, au pire, tu es sous windows :

  1. include < mmsystem.h>

/ / une lib a linker.
unsigned long TimeGetTime(); / / me semble t il.

ça te donne le nombre de millisecondes écoulées depuis que ton PC est allumé : ainsi, tu peut compter précisément le temps :)

cobradu94
cobradu94
Niveau 6
17 janvier 2005 à 22:31:32

Merci :) Et comment on n´utilise TimeGetTime();
dans quel variable il stoque les milisecondes ecoulée et comment faire pour calculer le temps qui c´est ecoulée depuis que j´ai lancer le programme ? ?
On doit pas faire une soustraction du temps ou j´ai lancer le programme au temps qu´il etait quand j´ai lancer l´ordi ? ?

JeanYvesYves
JeanYvesYves
Niveau 10
17 janvier 2005 à 22:35:43

TimeGetTime() te donne le temps...
Apres, tu en fait ce que tu veux :)

Si tu fais :

long T = TimeGetTime();
alors T stocke le temps au moment ou il est appelé...

Apres, plus tard, tu fais :

if ( TimeGetTime() - T > 3000)
{
/ / tu as dépassé 3000 millisecondes, donc 3000 secondes
}

cobradu94
cobradu94
Niveau 6
17 janvier 2005 à 22:52:49

Je sais pas si j´ai compris, tu as pas dit tout a l´heure que TimeGetTime(); me donnée le temps en millisecondes depuis que j´ai allumer le pc et la c´est le moment ou je l´appelle je comprend pas trop.
Par contre je pense que tu voulais parler de 3secondes et non de 3000 :)

cobradu94
cobradu94
Niveau 6
17 janvier 2005 à 22:54:45

C´est bon pas besoin de repondre j´ai compris je m´etais embrouiller tout seul :lol: je vais essayer de voir si sa marche et jte dit

cobradu94
cobradu94
Niveau 6
17 janvier 2005 à 23:01:37

Voila je viens d´essayer et sa marche pas. Il me fait 1 erreur sur la ligne #include < mmsystem.h>
Et 600 erreur dans mmsystem.h lui meme je vois pas de quoi sa peut venir, ptetre que mmsystem.h ne marche pas avec dev C++

dnob700
dnob700
Niveau 10
18 janvier 2005 à 00:10:56

qu´est ce qu´il fait comme erreur sur la ligne mmsystem.h ?

et tu es sur que pour l´utiliser il n´y a pas un autre header qu´il faut inclure avant, et que c´est pour ça que ça marche pas ? générallement c´est le problème.

si el header c´est celui fournit avec dev-c++ il devrait pas y avior de problème, tout au plus une lib à linker, si il n´est pas fourni avec dev c++ alors yua aucune chance que ça marche.

JeanYvesYves
JeanYvesYves
Niveau 10
18 janvier 2005 à 00:36:10
  1. include < windows.h>
  2. include < mmsystem.h>

en effet, faut mettre windows.h juste avant. :)

cobradu94
cobradu94
Niveau 6
18 janvier 2005 à 18:20:58

Aparament allegro n´est pas compatible avec windows.h parcequ´il fait des erreur sur la ligne allegro et ouvre le fichier system.h de allegro et fais des centaines d´erreur

JeanYvesYves
JeanYvesYves
Niveau 10
18 janvier 2005 à 18:24:25

ah bon ?
bizarre. Cependant je n´ai jamais essayé Allegro.
utilise < time.h> si tu veux, tu as des fonctions pour compter le temps, elles sont un peu moins précises que mmsystem, mais bon...

cobradu94
cobradu94
Niveau 6
18 janvier 2005 à 18:31:11

Et comment on utilise time.h :)

cobradu94
cobradu94
Niveau 6
18 janvier 2005 à 18:35:13

J´ai une autre question :
C´est quoi le mieux: d´utiliser plusiers if imbriquer ou d´utiliser l´operateur et logique ( &&).
Exemple:
if(b.y > = 540)
{
if(b.x < = sprite.x)
{
b.sensy = -b.sensy;
}
}
ou

if((b.y > = 540) && ( b.x < = sprite.x))
{
b.sensy = -b.sensy ;
}

JeanYvesYves
JeanYvesYves
Niveau 10
18 janvier 2005 à 18:38:29

http://www.opengroup.org/onlinepubs/007908799/xsh/time.h.html

pour les if en cascade ou les &&, je te conseille rien de spécial, ça revient a peu pres au meme. Disons que fait comme c´est le plus clair pour toi...

cobradu94
cobradu94
Niveau 6
18 janvier 2005 à 18:48:23

Merci :)

cobradu94
cobradu94
Niveau 6
18 janvier 2005 à 22:12:29

personne ne sais comment jouer une sequence audio ( au format wav ou midi) avec allegro, j´ai chercher sur la documentation de allegro mais il me dise des fonctions du style int install_sound(int digi_card, int midi_card, char *cfg_path); mais je comprend pas comment l utiliser

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