Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Max Floodeur prématuré
Inscrit le: 13 Jan 2009 Messages: 550 Sujets: 47 Spécialité en worldedit: La partie déclencheurs sauf le GUI.
|
Posté le: 21/07/09 20:43 Sujet du message: constantes réelles et entières |
|
|
Je crois que lorsque l'on doit spécifier un nombre réel et que l'on met à la place un nombre entier, une conversion est faite automatiquement. Donc mettre "0." au lieu de "0" est avantageux puisque ça évite la conversion.
Alors pourquoi :
Jass: | native GetRandomReal takes real lowBound, real highBound returns real |
Jass: | function GetRandomDirectionDeg takes nothing returns real
return GetRandomReal(0, 360) //pourquoi pas plutôt 0. et 360. ???
endfunction |
_________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
|
Revenir en haut |
|
|
Max Floodeur prématuré
Inscrit le: 13 Jan 2009 Messages: 550 Sujets: 47 Spécialité en worldedit: La partie déclencheurs sauf le GUI.
|
Posté le: 21/07/09 21:18 Sujet du message: |
|
|
Troll-Brain a écrit: | Comme tu le sait un entier est un réel particulier, l'inverse n'étant pas forcément vrai. |
Ceci est vrai en maths, mais pas en programmation. Le type réel est un type bien différent du type entier. C'est pourquoi il y a une conversion.
Troll-Brain a écrit: | Le seul truc à savoir c'est que dans le cas où une fonction est censée retourner un réel, utiliser que des entiers donne un résultat entier, mais sous forme de réel.
Par contre dans la cas de divisions/multiplication un seul réel dans l'équation suffit à obtenir un résultat vraiment réel. |
Pour les opérateurs en jass, il faut faire attention parce que les caratères * et / sont identiques que ce soit pour les réels ou pour les entiers, alors qu'il devraient y en avoir (logiquement) deux différents de chaque, car ils correspondent à des fonctions différentes (c'est le cas par exemple en Caml : opérateurs * / + - mais aussi *. /. +. -. ).
Le / appelle donc la fonction de la division entière ou celle de la division réelle, suivant le type des opérandes données.
Troll-Brain a écrit: | Les fonctions qui acceptent des réels supporte tout aussi bien des entiers. |
C'est une exception prévue par le jass (et bien des langages) afin de mieux coïncider avec la réalité. Mais je suis sûr qu'un entier donné à la place d'un réel dans une fonction, est converti en réel. _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 21/07/09 21:40 Sujet du message: |
|
|
Je vois.
Maintenant je répondrais à ton "pourquoi ?" pas d'autres questions rhétoriques.
- Le gui a t'il été conçu de façon raisonnable ?
- Le gui a t'il a été optimisé de façon raisonnable ?
- Le gui s'adresse t'il plutôt à des codeurs confirmés ?
Et peut être aussi que Blizzard voulait nous montrer que l'on pouvait aussi bien utiliser des réels que des entiers. (jor ...)
PS : Peut être que ce lien te sera d'une aide quelconque :
http://www.wc3c.net/showthread.php?t=66327 _________________
|
|
Revenir en haut |
|
|
Max Floodeur prématuré
Inscrit le: 13 Jan 2009 Messages: 550 Sujets: 47 Spécialité en worldedit: La partie déclencheurs sauf le GUI.
|
Posté le: 22/07/09 10:17 Sujet du message: |
|
|
- Moui non
- Moui non
- Euh ouais non
En fait avec le JNGP les fonctions existantes en GUI apparaissent en rouge et les autres en violet c'est ça ? (je n'y avais même pas réfléchi)
Merci pour le lien, ça m'a l'air un peu compliqué et j'suis nul en anglais, mais j'vais essayer de décortiquer tout ça. _________________
|
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 22/07/09 10:27 Sujet du message: |
|
|
Il y a en effet conversion en réel, mais comme ce sont des constantes, elle est faite à la compilation, c'est à dire au chargement de la carte. _________________
|
|
Revenir en haut |
|
|
Max Floodeur prématuré
Inscrit le: 13 Jan 2009 Messages: 550 Sujets: 47 Spécialité en worldedit: La partie déclencheurs sauf le GUI.
|
Posté le: 22/07/09 14:04 Sujet du message: |
|
|
Ayane a écrit: | Il y a en effet conversion en réel, mais comme ce sont des constantes, elle est faite à la compilation, c'est à dire au chargement de la carte. |
Aaaah d'accord. Ils ne sont pas bêtes blizzou
Est-ce que ces conversions se déroulent au chargement lors de chaque nouvelle partie, ou uniquement une fois, lorsqu'on sauvegarde la carte par exemple ?
Mais est-ce que c'est vrai dans tous les cas ?
Par exemple si on écrit "5 * 2.", est-ce que cela sera converti en "5. * 2." ? Ou alors... est-ce carrément converti en "10." ? _________________
|
|
Revenir en haut |
|
|
Magus Membre a fort taux de post
Inscrit le: 13 Oct 2007 Messages: 994 Sujets: 25 Spécialité en worldedit: Codeur
|
Posté le: 22/07/09 16:05 Sujet du message: |
|
|
La compilation se fait quand Warcraft 3 charge la carte, donc à chaque nouvelle partie. _________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi. |
|
Revenir en haut |
|
|
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
|
Revenir en haut |
|
|
Max Floodeur prématuré
Inscrit le: 13 Jan 2009 Messages: 550 Sujets: 47 Spécialité en worldedit: La partie déclencheurs sauf le GUI.
|
Posté le: 22/07/09 17:53 Sujet du message: |
|
|
Est-ce que tu pourrais expliquer le code de ta fonction C2I stp ? Je n'y comprends rien _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 22/07/09 17:54 Sujet du message: |
|
|
Quelle perte ...
Vive les hashtable et GetHandleId _________________
|
|
Revenir en haut |
|
|
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
Posté le: 22/07/09 17:55 Sujet du message: |
|
|
Jass: | function C2I takes code c returns integer
return c
return 0
endfunction |
J'ai écrit que le stricte minimum étant donné que j'ai pas d'éditeur jass sur moi et je n'en ai pas écrit depuis des semaines.
Citation: | Quelle perte ... |
Ce genre de teste serait devenu impossible , mais après peut être que quelqu'un l'a déjà fait. _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 22/07/09 18:10 Sujet du message: |
|
|
Citation: | Ce genre de teste serait devenu impossible, mais après peut être que quelqu'un l'a déjà fait. |
Ce que je veux dire c'est que c'est sans comparaison par rapport aux ajouts à venir.
A moins que tu ne prévoyais de diffuser un virus qui te serait lucratif via war3.
Sérieusement combien d'utilisateurs de l'éditeur ont jamais utilisé C2I et I2C ? _________________
|
|
Revenir en haut |
|
|
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
Posté le: 22/07/09 18:14 Sujet du message: |
|
|
Ils aurait pu simplement tout mettre en native , et I2C aussi en native en ajoutant simplement une vérification dans une liste de fonction déclaré dans un array. (comme sa une fonction non déclaré n'aurait pas pu être exécutable) _________________
|
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 22/07/09 19:37 Sujet du message: |
|
|
Moi j'utilise C2I et I2C pour faire un array code, ce qui me permet d'écrire un code court pour prendre en compte les 8 événements des touches directionnelles pour tous les joueurs connectés. _________________
|
|
Revenir en haut |
|
|
|