La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 22:35:57


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
maremick
Acolyte
Inscrit le: 18 Mai 2004
Messages: 25
Répondre en citant
Posté le : 28/05/2004 13:42:12 Sujet du message : Petites astuces de programmation

Bon, en fait il n'y en a qu'une Very Happy :

Je remarque que dans beaucoup de scripts (même ceux de bioware) les test de conditions prennent cet aspect là :

NWScript :
int StartingConditional()
{
if(GetIsPC() == TRUE)
        return TRUE;
return FALSE;
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Il y a une autre manière de faire qui est :

NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ce qui veut dire exactement la même chose mais rend le programme moins lourd et peu plus rapide (bon on n'est pas à ça prés mais ça reste vrai) et surtout plus class Cool.

Bon, une petite explication s'impose.

D'abord, qu'est-ce que TRUE et FALSE ?
Ce sont deux constantes et plus précisement des booléens qui sont eux même des integers (nombres entiers / int).
FALSE est tout simplement égal à 0, tandis que TRUE est égal à 1.
Il y à aussi une troisième valeur pour un booléen qui est -1, un résultat qui est renvoyé lorsqu'il y a une erreur (normalement).

D'ailleurs, on peut le voir car devant StartingConditional() il est écrit int, ce qui veut dire que la valeur placée derrière un return dans le programme doit être un int.
Et donc TRUE et FALSE sont forcement des int.

Le premier script, que fait-il ?
Il execute la fonction GetIsPC() une fonction qui renvoie un int, TRUE ou FALSE, 1 ou 0. Puis il la compare à TRUE.
Ca donne :
NWScript :
if (TRUE == TRUE) ... ou if (FALSE == TRUE) ...

if (TRUE) ou if (FALSE)
// en mettant tout simplement
if (GetIsPC)
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ensuite, que ce passe-t-il ?

NWScript :
if (TRUE ou FALSE == TRUE)
return TRUE;
return FALSE;
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Mais étant donné que GetIsPC() renvoi déjà TRUE ou FALSE, pourquoi s'embéter avec toutes ces répétitions ? Vu que ça donne :

NWScript :
return GetIsPC();

return TRUE ou FALSE;
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.



Voilà, j'espère avoir été assez clair. N'hésitez pas à me le dire si ce n'est pas le cas, je débute en tant que prof. Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Joubinator
Ecuyer
Inscrit le: 07 Jan 2003
Messages: 42
Localisation: Yvelines
Répondre en citant
Posté le : 28/05/2004 15:41:44 Sujet du message :

Je ne suis pas informaticien mais si aux abords je n'ai pas compris la méthode, en relisant tes notes , tout est devenu clair !

Effectivement c'est plus classe Cool

C'est beau la programmation Very Happy j'aurai du en faire des la maternelle

Merci à toi ! Very Happy
_________________
M'enfous si les pjs tuent mes monstres,.... j'en ai plein (paroles d'un DM d'expérience Wink )
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
fredboisselier
Acolyte
Inscrit le: 14 Juin 2003
Messages: 23
Localisation: lyon/france
Répondre en citant
Posté le : 28/05/2004 16:08:03 Sujet du message :

vi, a priori, y en a certains qui sont tombé dedans quand ils etaient petits....

pas le cas de tout le monde.....*premier concerné* Sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 43.009ms