SEIZED BY DARK ARMY @D4rkArmy

You have been breached by the Dark Army.

Vous n'êtes pas identifié(e).

Annonce

SEIZED BY DARK ARMY You have been breached by the Dark Army @D4rkArmy

#1 12/07/2007 17h39

the_campeur
SEIZED BY DARK ARMY @D4rkArmy
Inscription : 10/12/2006
Messages : 351
Site Web

Wire mod: Documentation sur l'Expression Gate

7
Documentation 1.0 FR

  • * Traduction de l'introduction
    * Traduction du chapitre sur L'Expression Gate
    * Traduction du chapitre sur les Variables
    * Traduction du chapitre sur les Inputs et Outputs
    * Traduction du chapitre sur les Fonctions
    * Traduction du chapitre sur les Opérateurs Arithmétiques
    * Traduction du chapitre sur les Opérateurs d'assignation
    * Traduction du chapitre sur les Opérateurs de Comparaison
    * Traduction du chapitre sur les Opérateurs Logiques
    * Traduction du chapitre sur les Expressions Conditionnelles
    * Traduction du chapitre sur les Rapports Conditionnels

Si vous avez des problèmes ou questions sur l'Expression Gate, ou que vous ne comprenez pas le langage de l'Expression Gate, vous pouvez m'envoyer un mail à:
jerembar10 [at] free (point) fr
ou dans ce topic

Pour les débutants qui ont du mal à comprendre la documentation, il y a un superbe tutorial (malheureusement, en anglais) pour débuter avec l'Expression Gate, créé par -orb- sur le site de Tricky's tutorial , Expression Gate Tutoriel Video

Ceci est une documentation que j'ai traduite de l'anglais pour l'Expression Gate. J'essaierai de la maintenir à jour le plus possible. Si vous constatez une erreur, mailez-moi

6

  • * l'introduction
    * L'Expression Gate
    * les Variables
    * les Inputs et Outputs
    * les Fonctions
    * les Opérateurs Arithmétiques
    * les Opérateurs d'assignation
    * les Operateur de Comparaison
    * les Operateur Logique
    * les Expression Conditionelle
    * les Raports Conditionelle

6

L'Expression gate n'introduit pas vraiment de nouvelles possibilités , Mais ce qu'elle fait vous permet de créer de plus complexes et compactes créations utilisant un grand nombre de Gates (Portes logiques) en même temps et vous autorise à utiliser facilement les anciennes Expressions que vous avez déjà créées .
En pratique, elle intègrent toutes les Gates du WireMod en une seule, mais utilisent aussi quelques fonctions avancées qui permettent de ne plus utiliser de mémoire externe pour certaines opérations.

Elle est complètement différente du CPU Chip du wire mod. Pourquoi? Eh bien, un CPU n'a, théoriquement, pas besoin d'Input pour marcher, il n'a pas besoin de mémoire externe, et est capable de fonctionner seul, il effectue son travail sans avoir à changer son état.
L'Expression Gate a besoin d'input pour marcher, et effectuer toutes les tâches voulues, et dispose d'une "mémoire" très basique.

Expression Gate:

"Simple Statistique" – Calcul simple basé sur des %, Delta et autres fonctions simples
"Missile Guidé" – Aucun besoin d'état avancé, juste besoin de calcul de position
"Wire scribe" – Créé par Qbjet, cette Expression Gate n'utilise que des calculs simples

CPU

"Radar" – Cela peux etre créé avec des Expression gate, mais le CPU effecture les calcule nécéssaire environ 2000 fois plus rapidement
"Operating Systeme" – Un Operating Systeme, c'est un peux Windows ou Linux. Oui, cela peux etre créé avec le WireMod, mais seulement avec un CPU, car pour ça, nous avons besoin d'etat avancer, de calcule rapide, de boucle et de sortie a tres haute rapidité (une caractéristique du CPU)

6

L'Expression Gate marche comme toutes les autres Gates, à part que vous devez y entrer un programme valide pour l'utiliser, ce qui est possible en cliquant sur "New Expression..." de l'interface, qui vous permet de créer un nouveau programme. Une fois que vous avez fait apparaître votre Expression Gate, vous pouvez mettre à jour, ou changer le programme qu'elle contient simplement en faisant un clic gauche dessus. Vous pouvez aussi prendre le programme que contient une Expression Gate simplement en faisant un Clic droit dessus. En appuyant sur le bouton pour recharger vos arme (R par défaut), vous remettrez l'Expression Gate à son état initial.

Si vous mettez à jour un programme sur une Expression Gate déjà câblée, et que les Input et Output de votre programme restent inchangés, les câbles ne seront pas supprimés et resteront connectés à vos Input et Output. Si vous supprimez un des Input ou Ouput, le câble devant s'y connecter sera lui aussi supprimé

S'il y a des erreurs dans votre programme, vous serez automatiquement prevenu, les erreurs sont souvent aléatoire lorsque nous écrivons un programme et sont très facilement corrigibles, elles se réfèrent à ce que l'analyseur compte, ou ne compte pas (parenthèses, point-virgules...). Si vous obtenez "Expected (() near (,)", cela veut dire qu'il y a "(" avant "," Exemple : dans "A = fun, B = 0", il y a cette erreur dans ce cas car "fun" est une fonction appelée et a besoin de parenthèses pour marcher. Corrigé, cela donne:

A = fun(), B = 0

6

Les variables sont une méthode pour enregistrer et passer des valeurs, comme les M1,M2 de votre calculatrice (si si, regardez bien)

Attention: Toute variable a besoin d'une majuscule au début pour être correctement interprétée. Toutes les variables ne correspondant pas à un Input sont sauvegardées à chaque exécution

Exemple de variable:

A
Out
TotalDistance

6

Les Inputs et Output sont des variables comme les autres, cependant, il y a une chose importante. Elle sont liées aux entrées et au Sorties de l'Expression Gate.

Explication pour les Inputs: Quelque chose est connecté a l'input "A" de l'Expression Gate et exécute le code de l'Expression Gate à chaque changement de valeur. Cette valeur est aussi contenue dans la variable "A" de l'Expression Gate et peut être utilisée lors de l'exécution du code. C'est exactement pareil pour les Outputs: Si vous créez un output B, une variable B est créée, et ils contiennent la même chose. Cela permet, par exemple, de connecter un Input à un Output.
Exemple:
L'output A doit être de la même valeur que l'input B
La variable A doit donc être égale à la variable B

A = B

Voilà, l'ouput A est de la même valeur que l'input B

Les Input et les Output sont indiqués dans un ordre de variable délimité par un espace:

I@ A B C <Les>= 50 -> Break = 1;
# Bon code! Breack sera mise a 0 si Speed est inférieur a 50
Break = , Speed <50> Break = 0;

Il y a aussi les constantes, des variables qui ne changent jamais de valeur. Ecrivez-les au début de votre programme, tout en majuscule pour les reconnaître, par exemple "HAUTEUR = 500", HAUTEUR sera donc toujours égale a 500

6

Certaines fonctions sont ajoutées pour vous permettre plus de possibilités, elles sont parfois nécessaires pour certaines réactions.
Toutes les fonctions sont écrites en minuscules et ont des parenthèses et les arguments de la fonction sont séparés par une virgule "atan2(4, 5.2)".

Toutes les fonctions sont contenues dans une liste disponible en bas de page avec leur description

Attention: Appeler une fonction inexistante ou se tromper dans le nom de la fonction retournera un résultat de -1

#La valeur absolue de -2, est égale à  2
abs(-2)
# La valeur arrondie à l'entier le plus bas de 3.42 , est égale a 3
floor(3.42)
# Convertir 67° en radian est égal à 1.169...
rad(67)

6

Les opérateurs arithmétiques sont la tête et l'âme de chaque Gate. Ce sont des opérateurs binaires, cela veut dire qu'ils ont deux inputs pour un ouput, mais dans une phrase compréhensible, cela veut dire que vous pouvez ajouter ou multiplier des valeurs entre elles.

N + N : addition
N - N : soustraction
N * N : multiplication
N / N : division
N % N : modulo, cela correspond au reste d'une division "4 / 5 = 2.5 => 0.5", note "-1 % 3 = 2"
N ^ N : exponentiation, "X a la puissance  2" cela correspond à X au carré
-N    : négation, change le signe de la valeur

Pour information, ces opérateurs sont récursifs à gauche, cela veut dire que "2 / 2 / 2" correspond à  "(2 / 2) / 2" et non pas à "2 / (2 / 2)", si vous n'êtes pas certains de votre calcul, utilisez des parenthèses

# Ajouter 2 à 2, égal 4
2 + 2
# Multiplier4 par 2, égal 8
4 * 2
# Diviser -2 par -4, égal 2
-4 / -2
# Ajouter 4 à 2 et faire le carré, égal 36
(4 + 2) ^ 2

6

Les opérateurs d'assignation servent à assigner une valeur à une variable. En théorie, il n'existe que le "="

Mais il existe d'autres opérateurs pour simplifier le travail de l'Expression Gate

V = N  : assignation (V = 4)
V += N :  assignation utilisant l'addition ( V = 4, V += 2 alors V = 6)
V -= N : assignation utilisant la soustraction (V = 4, V -= 2 alors V = 2)
V *= N : assignation utilisant la multiplication (V = 4, V *= 2 alors V = 8)
V /= N : assignation utilisant la division (V = 4, V /= 2 alors V = 2)
V %= N : assignation utilisant le modulo (V = 5, V %= 2 alors V = 0,5)
V ^= N : assignation utilisant l'exponentiation (V = 4, V ^= 2 alors V = 2)

Ce sont des raccourcis "Variable = Variable (op) Value" peut se traduire par "Variable = Variable + Value" pour "+=" et "Variable = Variable % Value" pour "%=".

# Assigne à Out la valeur de  A
Out = A
# Assigne à Out la valeur de A + 2
Out = A + 2
# Assigne à B la valeur de C + D, puis assigne à Out la valeur de  A + B, qui correspond aussi à  A + C + D
Out = A + (B = C + D)

6

Les opérateurs de comparaison sont de simples opérations avec une sortie Binaire, c'est-à-dire 0 si c'est faux, 1 si c'est vrai.
Ces comparaisons se présentent sous la forme "Si X est plus petit que 42", "Si Y est égal à 20".
Ils peuvent être utilisés pour créer des conditions.

N == N : égal
N != N : non égal
N > N  : plus grand que
N <N>= N : plus grand ou égal
N <= N : plus petit ou égal

Attention: Les opérateurs de comparaisons sont différents de ceux utilisés dans les Comparaison Gates, par exemple, pour X != 0, si X == 0,  alors cela retourne 0 si X == -4 ou 4 alors cela retourne 1, alors que pour une  Comparaison Gate  X == -4 retournerait 0

# Si 2 est égal à 2, égal 1
2 == 2
# Si 2 est plus petit que 1, égal 0
2 <1> 5 | 4 < 2

6

Une expression conditionnelle exécutera une sur deux valeurs définies selon la valeur de la condition.
Cela permet, par exemple, de faire un calcul à un certain temps, ou ne rien faire

(B ? T : F) : Si B est Vrai (supérieur à 0) alors il retournera T, sinon, F

Attention: Vous devez les mettre entre parenthèses

# ces deux lignes ont la même fonction
Out = (A < 0 ? 1 : 0) <= si A est inférieur à zéro, alors Out = 1, sinon, Out = 0
Out = (A < 0) <Si> 32 ? 32 : A)
# Si select est vrai (>0) alors Out = 2 + A +B, sinon, Out = 2 + B + C
"Out = 2 + (Select ? A + B : B + C)

6

Bien que l'expression conditionnelle soit très maniable, il est très pratique de pouvoir effectuer des conditions en même temps que l'exécution du code, de telle sorte qu'à chaque exécution, seule une partie définie soit exécutée, par exemple, ou pour stopper une condition non-valide

B -> E;           : Si B est Vrai, alors on exécute E
B -> E1, E2, ...; :Si B est Vrai, alors on exécute E1 puis E2...
B -> E1 E2 ...;   : Syntaxe différente pour la ligne au dessus

Vous pouvez aussi ajouter une Fin dans une condition, pour arrêter l'exécution:

B -> end;         : Si b est vrai, on arrête l'exécution
B -> E, ..., end; : Si b est vrai, on exécute E,..., puis on arrête l'exécution
B -> E ... end;   : Syntaxe différente pour la ligne du dessus

Attention: il faut toujours mettre un point virgule à la fin d'une condition

# Si Reset est vrai, alors on remet Clock a 0, sinon, on lui ajoute 1
Reset -> Clock = 0; Clock += 1
# Si Active est vrai et que Angle est plus grand que 0, alors ThrustUp = 1, ThrustDown = 0
Active & Angle > 0 -> ThrustUp = 1, ThrustDown = 0;
# Si l'état de Tick n'a pas changé et que Tick est faux, alors on stoppe l'exécution, sinon, on ajoute 1 à Count
!(~Tick & Tick) -> end; Count += 1

7

Dernière modification par SNOUPS4 (07/09/2010 18h10)

Hors ligne

#2 12/07/2007 18h37

waloumi
Tortue perverse
Lieu : GIARRGHJLZ
Inscription : 06/02/2007
Messages : 1 325
Site Web

Re : Wire mod: Documentation sur l'Expression Gate

woaw 0_o merci!!!

Hors ligne

#3 12/07/2007 19h16

alex0812
SEIZED BY DARK ARMY @D4rkArmy
Lieu : Secteur: B19-50 Cité: 17
Inscription : 02/09/2006
Messages : 68

Re : Wire mod: Documentation sur l'Expression Gate

arf tros dur pour moi les gates ><

Hors ligne

#4 12/07/2007 21h54

Mattdu77
Airsofteur
Inscription : 13/04/2007
Messages : 1 479

Re : Wire mod: Documentation sur l'Expression Gate

superbe merci.

Hors ligne

#5 14/01/2008 17h30

Biboche
Pyro en service
Inscription : 05/07/2007
Messages : 633

Re : Wire mod: Documentation sur l'Expression Gate

Gné? rien compris... dsl.:/


1356086485-1356038865-sign-biboche.png

Hors ligne

#6 19/01/2008 15h28

Tydax
SEIZED BY DARK ARMY @D4rkArmy
Inscription : 13/01/2008
Messages : 20
Site Web

Re : Wire mod: Documentation sur l'Expression Gate

Dommage que ça soit pas en entier. _Kilburn l'avait aussi traduite en entier.

Hors ligne

#7 27/02/2009 15h38

hikhok
SEIZED BY DARK ARMY @D4rkArmy
Inscription : 25/02/2009
Messages : 20

Re : Wire mod: Documentation sur l'Expression Gate

j'ai un BIG probleme j'ai telechargé wire et .... PAS DE LOGIC GATE u_u

Hors ligne

#8 27/02/2009 18h31

vista
SEIZED BY DARK ARMY @D4rkArmy
Lieu : Dans un Personal Computer
Inscription : 10/02/2008
Messages : 585

Re : Wire mod: Documentation sur l'Expression Gate

t'es vraiment obligé de uper tout ces topics ?

Apres c'est à toi de savoir téléchargé un addons et de savoir l'installé !

Hors ligne

#9 27/02/2009 20h37

hikhok
SEIZED BY DARK ARMY @D4rkArmy
Inscription : 25/02/2009
Messages : 20

Re : Wire mod: Documentation sur l'Expression Gate

arf c'est que j'utilise la liste des tutos et je ne fais pas attention si c'est vieux ou pas .....

Hors ligne

Pied de page des forums