Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 02/12/07 12:37 Sujet du message: Apprentissage du Vjass en cours de chargement |
|
|
Librairies
Jass: | library A initializer InitA requires B
function InitA takes nothing returns nothing
call StoreInteger(B_gamecache , "a_rect" , Rect(-100.0 , 100.0 , -100.0 , 100 ) )
endfunction
endlibrary |
Une librairie initializer voit ses fonctions lancées à l'ninit de la map ?
On peut mettre des fonctions avec un return et des takes ?
Peut t'on mettre plusieurs fonctions et doit t'on respecter la syntaxe InitNomDeLaLibrairie ?
Structs
The onDestroy method
si j'ai bien compris quand on detruit une struct cette méthode est automatiquement lancée ?
.allocate
Ca permet de créer des fonctions create personnalisées et uniquement create c'est cela ?
.execute et .evaluate
C'est quoi la différence, pour quelles utilisations et en quoi ca rohx ?
Hormis que peu importe la position de la fonction appelée dans le script et qu'il dit (je veux bien le croire) que c'est plus rapide qu'un ExecuteFunction
Sinon arrivé au 2/3 de la doc j'ai décroché avec les overload, les struct extends something, les array dynamiques toussa toussa
et puis je ne vois toujours pas l'intérêt de pouvoir charger un .slk car visiblement il faut qu'il soit externe à la map, et donc on ne peut pas utiliser directement le slk widgetisé de l'éditeur d'objet _________________
Le violet, c'est moche.
Dernière édition par Troll-Brain le 18/12/07 13:15; édité 1 fois |
|
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: 02/12/07 12:48 Sujet du message: |
|
|
Je ne connais pas le Vjass, mais y'a certains mots que je connais si ça peut t'aider.
overload : en français, surcharger. Il y'a 2 surcharges en programme.
La surcharge totale :
On réécrit complètement une fonction déjà défini (dans une librairie importé, ou de base dans l'environnement). Il faut que l'entète respecte évidemment le nom de la fonction et le type des paramètres.
La surchage partielle :
On écrit une fonction qui a le même nom, mais le type des paramêtres est différent.
Par exemple :
Jass: |
function EstSuperieurAZero takes integer a returns boolean
function EstSuperieurAZero takes real a returns boolean
|
extends : On appel ça l'héritage. En language objet, une classe peut hériter d'une classe dite mère (dans certains language, on peut hériter de plusieurs classes). La classe fille possèdera de base, tous les attributs et méthodes de la mère.
Si le language gère le polymorphisme, une fonction qui s'applique sur la mère peut s'appliquer sur la fille (mais attention, pas l'inverse).
array dynamiques : euh j'ai pas très bien compris, je crois que c'est les listes chainées (du moins c'est comme ça qu'on me l'a appris).
Une listes chaines est une structure avec (dans le cas le plus simple) 2 éléments :
L'élément de case ou tu te trouves
Un pointeur vers la case suivante.
Mais comme en jass on a pas besoin de mettre la taille d'un tableau dans sa déclaration, je vois pas trop en quoi ce serait utile donc ça doit pas être ça :s _________________
- 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 |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 02/12/07 12:58 Sujet du message: |
|
|
Merci de ta participation Master mais quand je dis que j'ai décroché, j'ai parcouru le reste et même si j'en ai compris l'utilité, la pratique me semble plutôt galère (pour les overload)
sinon je ne vois pas trop l'intérêt des extends (mais je ne prog pas donc ...)
On doit définir une taille pour les array dynamique (faut pas oublier que c'est du Vjass et que ca simule certains aspects de la POO de façon tranparente, mais évidemment au final ca reste du jass à la compilation).
Et là par contre je ne vois pas l'utilité les array dynamiques _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
 |
Brissou de Mourièssou Créateur de sorts, depuis 1936.

Inscrit le: 30 Aoû 2007 Messages: 1511 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 02/12/07 13:24 Sujet du message: Re: Apprentissage du Vjass en cours de chargement |
|
|
Pour l'initializer j'en sais rien, jamais trop essayé de comprendre l'utilité.
Troll-Brain a écrit: | Structs
The onDestroy method
si j'ai bien compris quand on detruit une struct cette méthode est automatiquement lancée ? |
Voui
Troll-Brain a écrit: | .allocate
Ca permet de créer des fonctions create personnalisées et uniquement create c'est cela ? |
Voui voui
Troll-Brain a écrit: | .execute et .evaluate
C'est quoi la différence, pour quelles utilisations et en quoi ca rohx ?
Hormis que peu importe la position de la fonction appelée dans le script et qu'il dit (je veux bien le croire) que c'est plus rapide qu'un ExecuteFunction
|
Je vois mal comment ça peut être plus rapide, parce qu'à mon avis c'est surement des ExecuteFunction ...
Overload, spour la surchage d'opérateur, mais c'est limité pour l'instant. Ca permet de définir un opérateur '<' ou '>' pour comparer 2 struct de type abstraits (comparer 2 struct "Guerrier" par exemple)
Struct extends c'est essentieeelll, c'est plus mieux que l'extend d'interface.
Pas encore creusé l'extend de struct pour weuh, mais théoriquement c'est trop roxxor, sans avoir testé j'peux pas t'en dire plus.
Arrays dynamiques spour foutre des arrays en attribut de struct. _________________
|
|
Revenir en haut |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
|
Revenir en haut |
|
 |
MArL Ptit Nouveau
Inscrit le: 01 Oct 2007 Messages: 30 Sujets: 4
|
Posté le: 02/12/07 15:25 Sujet du message: |
|
|
Les struct sont des arrays, en fait, et c'est pour cela qu'on ne peut pas utiliser un array comme attribut de struct :
Jass: |
struct
real array x
endstruct |
Ceci ne marche pas : array d'array bah l'éditeur il n'aime po !
On doit donc utiliser des arrays dynamiques.
Apres il y a surement d'autres utilisations qui me sont encore inconnues (j'ai découvert ces array hier). _________________
|
|
Revenir en haut |
|
 |
|