Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Créer un compte à rebours en C
Kovalle Hors ligne Membre Points: 3 Défis: 0 Message

Créer un compte à rebours en C

Posté le 25/05/2013 17:45

Bonjour à tous,

Je vous sollicite pour le problème suivant. Depuis quelques jours je m’initie au langage C (notamment sur le Site Du Zéro) et je fais quelques petits add-in simples via le logiciel SDK.
Et aujourd'hui, je voudrais créer une sorte compte à rebours, mais je n'arrive pas à maîtriser les fonctions de gestion du temps...

Le principe de mon programme est le suivant, il doit "juste" afficher le temps qui reste (en jours, heures, minutes et secondes) avant un évènement.

De sorte que la date de l'évènement en question soit directement intégrée au programme dans le code source. Ce qui implique que le principe du programme serait de calculer (et afficher) le temps qui sépare la date actuelle du système et la date de l'évènement. Mais ça je ne sais pas comment faire...

J'ai essayer de chercher des exemples de code source sur internet. Le problème est que ceux que j'ai vu, décompte un temps fixe, et ne calcul pas la différence de temps qu'il y a entre la date actuelle (de la calculatrice) et celle de l'évènement.

donc ma question est principalement: Comment récupère t-on la date et l'heure de la calculatrice ?
Faut il utiliser GetSystemTime() ou une autre fonction ?

Je vous remercie d'avance.




Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 25/05/2013 18:15 | #


pour savoir le nombre de ticks (1/128eme de seconde) ecoulées depuis le debut de la journée selon le processeur, utilise cette fonction (rajoute la au debut de ton code, apres les #includes
#define SCA 0xD201D002
#define SCB 0x422B0009
#define SCE 0x80010070

const unsigned int sc003b[] = {SCA, SCB, SCE, 0x3B};


#define RTC_GetTicks (*(sc_iv)sc003b)

int time_getTicks()
{
    return RTC_GetTicks();
}


par contre, si ta calculatrice n'es pas réglé a l'heure, elle te donnera une valeur qui n'est pas l'heure réelle, mais pour faire un compte a rebours, ce n'est pas genant

et comme je suis gentil, voila un petit code pour tout afficher


void PrintV(int X,int Y , int variable)//affiche une variable
{

    int i, length=0;
    char str[12] = "0";
    if(variable)
    {
        if(variable<0)
        {
            length++;
            str[0] = '-';
            variable = -variable;
        }
        for(i=variable ; i ; i/=10) length++;
        str[length] = 0;
        for( ; variable ; variable/=10) str[--length] = variable%10+'0';
    }
    PrintMini(X,Y,str);
}

//rajoute tout ca dans ton main
int time;
int temps_final = time_getTicks+[le temps avant l'evenement en 1/128eme de seconde];
while(time != temps_restant)//on fait ca jusqu'a la fin du compte a rebours
{
time = time_getTicks();
PrintV(1,0,(temps_final -time)/(128*60*60));//heures
PrintV(1,10,(temps_final -time)/((128*60))%60);//minutes
PrintV(1,20,(temps_final -time)/((128))%60);//secondes
Bdisp_PutDisp_DD();
Bdisp_AllClr_VRAM();
}

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Kovalle Hors ligne Membre Points: 3 Défis: 0 Message

Citer : Posté le 25/05/2013 18:26 | #


Merci beaucoup pour la rapidité de ta réponse et les codes. Je pense que j'ai compris comment poursuivre mon programme.
Merci.
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 25/05/2013 18:31 | #


de rien

par contre, fait attention, si tu fait un copier-coller de mon code, le site transforme le ! = en !=, qui n'est pas reconnu par le SDK
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 39 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd