Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
kungfu-sheep Anomalie floodiforme
Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
|
Posté le: 21/06/12 11:56 Sujet du message: |
|
|
vu il faudra que j'y revienne après mon bac, si on pouvait me le rappeler si après mon bac j'l'ai toujours pas fait. _________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises |
|
Revenir en haut |
|
|
kungfu-sheep Anomalie floodiforme
Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
|
Posté le: 22/06/12 17:20 Sujet du message: |
|
|
Sapeur-Goblin a écrit: | Jass: | loop
exitwhen i >= nb_car
set i = i + 1
set car = SubString(trigger_string, i-1, i)
set param = param + car
endloop |
Pourquoi tu ne fais pas plutôt :
Jass: | set param = SubString(trigger_string, i - 1, StringLength(trigger_string)) |
|
parce que jusqu'à présent je laissais ainsi la possibilité de rejouer cette partie en rajoutant une condition qui pouvait faire que l'on gère un autre paramètre (c'est expliqué brièvement).
Citation: | Sinon dernièrement j'ai eu besoin de faire des lectures de paramètres, comme dans ton tuto, mais j'avais besoin d'en lire plusieurs. J'ai donc fait trois super fonctions :
Jass: | private function GetSpace takes string s, integer n returns integer
local integer i = 0
local integer j = StringLength(s)
local integer k = 0
local string sub
loop
exitwhen k == n or i == j
set sub = SubString(s, i, i + 1)
if sub == " " then
set k = k + 1
endif
set i = i + 1
endloop
if i == j then
return i
else
return i - 1
endif
endfunction |
Cette première fonction donne à quel niveau de la chaîne de caractère s l'espace numéro n se trouve. A noter que c'est là où l'espace commence et non où il termine.
On peut ensuite l'utiliser pour faire ça :
Jass: | private function GetFunction takes string s returns string
return SubString(s, 1, GetSpace(s, 1)) //Le premier espace marque la fin de la fonction
endfunction |
De même que pour lire des paramètres :
Jass: | private function GetParameter takes string s, integer n returns string
return SubString(s, GetSpace(s, n) + 1, GetSpace(s, n + 1))
endfunction |
On donne le string s et ça nous renvoie le paramètre numéro n.
Étant donné que GetSpace renvoie la fin de la chaîne s'il n'y a pas d'espace, s'il n'y a aucun paramètre, GetParameter renverra juste null.
Bon il y a encore un petit soucis : si l'utilisateur met deux espace entre deux paramètres, ça bug :/.
Mais je pense que ça pourrait être bien de le rajouté. |
vraiment pas mal, c'est ce que j'ai cherché à faire pendant un moment mais sur le coup j'voyais pas du tout comment faire. maintenant la solution me parait évidente x)
je vais le rajouter ce soir je pense, demain au plus tard. si troll-brain ou tirlititi a son mot à dire sur ce rajout (des p'tites imperfections dans la fonction ?) _________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises |
|
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/06/12 18:31 Sujet du message: |
|
|
On peut les améliorer mais bon je ne vois pas trop l'intérêt de ces fonctions avec le sujet.
Ça me semble trop particulier comme usage.
Par contre pourquoi pas les proposer dans le forum fonction jass. _________________
|
|
Revenir en haut |
|
|
kungfu-sheep Anomalie floodiforme
Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
|
Posté le: 22/06/12 21:02 Sujet du message: |
|
|
ouais ça se défend, j'attendrais l'avis de tir alors avant d'add. _________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises |
|
Revenir en haut |
|
|
Tirlititi
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
|
Posté le: 22/06/12 22:29 Sujet du message: |
|
|
Je suppose que vous ne m'aviez pas compris mais c'est exactement ce que j'avais suggéré avec "StringWord" (même si j'avais pas codé la fonction et qu'indiquer la position de départ à la place de n est plus efficace). Donc pour moi ça a totalement sa place dans le tuto dans la partie jass puisque ça permet de séparer la chaîne de caractère en mots et donc de s'occuper de plusieurs paramètres.
Au fait, la map exemple, je vois pas ce qui t'empêche d'en faire une... Il faut juste illustrer le système, pas besoin de faire une map jouable. _________________
|
|
Revenir en haut |
|
|
kungfu-sheep Anomalie floodiforme
Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
|
Posté le: 22/06/12 23:32 Sujet du message: |
|
|
Tirlititi a écrit: | Je suppose que vous ne m'aviez pas compris mais c'est exactement ce que j'avais suggéré avec "StringWord" (même si j'avais pas codé la fonction et qu'indiquer la position de départ à la place de n est plus efficace). Donc pour moi ça a totalement sa place dans le tuto dans la partie jass puisque ça permet de séparer la chaîne de caractère en mots et donc de s'occuper de plusieurs paramètres.
Au fait, la map exemple, je vois pas ce qui t'empêche d'en faire une... Il faut juste illustrer le système, pas besoin de faire une map jouable. |
pas faisable en gui ?
la map exemple ok j'ferais un truc mais demain finalement car chuis trop fatigué pour ce soir. _________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises |
|
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: 23/06/12 15:59 Sujet du message: |
|
|
I disagree because i'm pas d'accord. _________________
|
|
Revenir en haut |
|
|
|