Aidez-moi a comprendre cette fonction.
Fermé
Cute0112
Messages postés
3
Date d'inscription
vendredi 3 mai 2013
Statut
Membre
Dernière intervention
7 mai 2013
-
3 mai 2013 à 17:31
Cute0112 Messages postés 3 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 7 mai 2013 - 5 mai 2013 à 09:49
Cute0112 Messages postés 3 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 7 mai 2013 - 5 mai 2013 à 09:49
A voir également:
- Aidez-moi a comprendre cette fonction.
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Snapchat ils m'ont ajouté par la fonction recherche - Forum Snapchat
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
1 réponse
e666
Messages postés
458
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
2 août 2014
175
3 mai 2013 à 18:04
3 mai 2013 à 18:04
Bonjour,
Alors tout d'abord que veux-tu dire par code de la source d'angrybirds?
Tu sais ce n'est pas simple du tout de faire un jeu. Je te conseille par commencer par apprendre comment fonctionne un langage.
Ce que tu as posté comporte plusieurs choses.
Tout d'abord, cette enum :
Donne TEXT_FINISHED = 0
TEXT_CHANGED=1
TEXT_UNCHANGED=2.
Ce sont des variables que tu peux donc utiliser elles seront remplacées par leur valeur dans le programme.
Ce code te définit une structure Ez_event.
On en arrive donc à la fonction
Elle prend en paramètres un pointeur vers une structure Ez_event (la structure déclarée au dessus), une chaine de caractères reprsentant le texte et un entier max_size.
La fonction retourne donc TEXT_CHANGED si l'utilisateur appuie sur la touche retour arrière ou écrit un caractère.
TEXT_FINISHED si l'utilisateur appuie sur entrée.
Sinon ça renvoie TEXT_UNCHANGED.
Alors tout d'abord que veux-tu dire par code de la source d'angrybirds?
Tu sais ce n'est pas simple du tout de faire un jeu. Je te conseille par commencer par apprendre comment fonctionne un langage.
Ce que tu as posté comporte plusieurs choses.
Tout d'abord, cette enum :
typedef enum { TEXT_FINISHED, TEXT_CHANGED, TEXT_UNCHANGED } InputStatus;
Donne TEXT_FINISHED = 0
TEXT_CHANGED=1
TEXT_UNCHANGED=2.
Ce sont des variables que tu peux donc utiliser elles seront remplacées par leur valeur dans le programme.
typedef struct { int type; /* Expose, ButtonPress, etc */ Window win; /* Identifiant de la fenetre */ int mx, my; /* Coordonnees souris */ int mb; /* Numero bouton de la souris, 0=aucun */ int width, height; /* Largeur et hauteur */ KeySym key_sym; /* Symbole touche : XK_Space, XK_q, etc */ char key_name[80]; /* Pour affichage : "XK_Space", "XK_q", .. */ char key_string[80]; /* Chaine correspondante : " ", "q", etc */ int key_count; /* Taille de la chaine */ } Ez_event;
Ce code te définit une structure Ez_event.
On en arrive donc à la fonction
InputStatus input_text (Ez_event *ev, char *text, int max_size) { int i; switch (ev->key_sym) { case XK_BackSpace : /* Touche backspace */ i = strlen (text); if (i == 0) break; text[i - 1] = '\0'; return TEXT_CHANGED; case XK_Return : /* Touche Entree */ return TEXT_FINISHED; default : /* Insertion d'un caractere */ if (ev->key_count != 1) break; i = strlen (text); if (i >= max_size - 1) break; text[i] = ev->key_string[0]; text[i + 1] = '\0'; return TEXT_CHANGED; } return TEXT_UNCHANGED; }
Elle prend en paramètres un pointeur vers une structure Ez_event (la structure déclarée au dessus), une chaine de caractères reprsentant le texte et un entier max_size.
La fonction retourne donc TEXT_CHANGED si l'utilisateur appuie sur la touche retour arrière ou écrit un caractère.
TEXT_FINISHED si l'utilisateur appuie sur entrée.
Sinon ça renvoie TEXT_UNCHANGED.
3 mai 2013 à 18:05
5 mai 2013 à 09:49