• 29 Mars 2024, 09:19:43


Auteur Sujet: Les différents opérateurs [niveau: tous]  (Lu 24112 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Lacuisse

  • *
  • Messages: 4082
    • Voir le profil
Re : Les différents opérateurs [niveau: tous]
« Réponse #30 le: 27 Novembre 2011, 12:06:01 »
Je suis désolé mais entre toi et Xartrick le choix est vite fait  :)

++

PS: il remonte un vieux topic pour ajouter du contenu.
L'avenir du monde est d'additionner nos différences et non pas de les soustraires (Antoine de Saint Exupéry).

De toutes les passions, la seule vraiment respectable me parait être la gourmandise. (Guy De Maupassant)

vincentdu90

  • Invité
Re : Les différents opérateurs [niveau: tous]
« Réponse #31 le: 27 Novembre 2011, 14:06:22 »
Bonjour ,

    J'aurai une petite question à propos des opérateurs du genre " += ; -=" . En fait je ne comprends pas dans quel(s) cas on peut utiliser ces opérateurs .
Merci d'avance de votre aide .

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Re : Les différents opérateurs [niveau: tous]
« Réponse #32 le: 27 Novembre 2011, 14:10:54 »
C'est tout simplement un raccourci :

// Ces deux instruction ammenent au meme resultat
var1 var1 var2;
var1 += var2;


Exemple concret :

OnPlayerDeath(..)
{
     
score[playerid] -= 2// -2 pour le tuer
     
score[killerid] += 5// +5 pour le tueur
}


Spiirou
++

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Les différents opérateurs [niveau: tous]
« Réponse #33 le: 28 Novembre 2011, 11:56:09 »
En 2009 (plus haut dans ce topic), je disais que l'utilité de l'opérateur ^ était discutable.

Et quand je vois ce que Xartrick en fait, ça ne conforte dans mon idée :)

if ((IsPlayerConnected(playerid)) ^ (IsPlayerAdmin(playerid)))
Le problème ici, c'est que si le joueur est admin, il est forcément connecté .... donc le test ne sera jamais vérifié. Au final, ce test ne traitera que les joueurs connectés et non admin. Ce uiq se traduit par un test beaucoup plus simple :
if (!IsPlayerAdmin(playerid))
J'ai cherché un exemple concret d'utilisation de l'opérateur dans un test où l'on voudrait une des deux conditions mais pas les deux en même temps et je n'en ai pas trouvé (ce qui ne veux pas dire qu'il n'y en a pas).

Sinon, le ou exclusif est surtout utilisé dans les fonctions de cryptage car il est réversible et permet très simplement de crypter et décrypter :
A^B=C et C^B=A
Dans ce cas, B pourra être appelé "clef de cryptage".

++
Syg
Courtesy of GtaManiac

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Les différents opérateurs [niveau: tous]
« Réponse #34 le: 28 Novembre 2011, 17:21:05 »
Je n'ai pas trouvé d'exemple pertinent, donc j'ai mit un exemple qui m'est tombé sous la main.
Sinon, effectivement, on peut se servir pour chiffrer et déchiffrer une chaîne de caractères par exemple.

Je viens d'envoyer un code utilisant ce principe ici.

vincentdu90

  • Invité
Re : Les différents opérateurs [niveau: tous]
« Réponse #35 le: 30 Novembre 2011, 18:10:55 »
Merci à vous spiirou et Gzsume j'y vois un peu plus clair .