Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Les actualités de fin d'année / Jeux: Glixel en version complète / Jeux: Izac 1 / News: Des jeux d'hiver sous la couette / Scripts: Système de vol pour RPG Maker (...) / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

242 connectés actuellement

30834889 visiteurs
depuis l'ouverture

2156 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Maker Détente

Offgame

Lumen

Guelnika & E-magination

Tous nos partenaires

Devenir
partenaire



[Ruby] Cours n°3 : Les Booléens et les calculs logiques

Série de tutoriels sur le Ruby. Explications de ce qu'est un booléen et des possibilités de calcul avec les opérateurs logiques.

Ecrit par Tonyryu le 02/08/2013


❤ 0

Sommaire

Ruby
Les variables
Les tableaux
>> Les booléens et les calculs logiques <<
Structure de if
Structure de case
Boucles loop do et while
Boucle for
Fonctions et procédures
POO - Classes et objets

RGSS
Débuter avec le RGSS
Module Input
Bitmap, Color, Sprite
Structure de base des classes Scene et Window




[Ruby] Cours n°3 : Les Booléens et les calculs logiques


Le booléen, pas évident à dire ça, cependant c'est assez simple à expliquer. Vous en utilisez pratiquement tout le temps dans les events, il s'agit des Switch ou interrupteur.
Le booléen est un type de variable le plus élémentaire, car il n'a que 2 états , soit Vrai soit Faux. Les interrupteurs utilisés dans les commandes événementielles, sont définis dans un tableau de booléens, se nommant :

Citation:

$game_switches




Le plus simple pour imaginer le fonctionnement d'un booléen, est le fonctionnement d'un interrupteur, pour une lampe par exemple. Mais attention, ne pas confondre l'état de l'interrupteur (ON,OFF) et le résultat (Allumé, éteint), car dans vos couloirs, il ya plusieurs interrupteurs pour une même lampe, certains sont ON d'autres OFF, et pourtant la lampe n'est pas forcément éteinte ou allumée.

En Ruby, les valeurs d'un booléen sont true ou false (Vrai ou faux).

Le type booléen est dans le principe quelque chose de très simple, du point de vue variable. Hors son utilisation peut s'avérer parfois complexe, car il permet de répondre à des conditions. Toutes les comparaison de valeurs amène à un résultat booléen :

Par exemple : j'ai un sac contenant 4 pommes et 2 bierres.
Une personne me dit : tu as exactement 3 pommes dans ton sac.
Je lui réponds : Faux
Une personne me dit : tu as plus de 3 pommes dans ton sac.
Je lui réponds : Vrai
Une personne me dit : Tu as exactement 3 pommes et exactement 2 bierres.
Je lui réponds : Faux
Une personne me dit : Tu as exactement 3 pommes ou exactement 2 bierres.
Je lui réponds : Vrai

Maintenant les mêmes exemples en Ruby :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def comparaison1
  iNbPomme = 4
  iNbBierre = 2
 
  bResultat = iNbPomme == 3
  # bResultat contient false
end
 
def comparaison2
  iNbPomme = 4
  iNbBierre = 2
 
  bResultat = iNbPomme > 3
  # bResultat contient true
end
 
def comparaison3
  iNbPomme = 4
  iNbBierre = 2
 
  bResultat = iNbPomme == 3 and iNbBierre == 2
  # bResultat contient false
end
 
def comparaison4
  iNbPomme = 4
  iNbBierre = 2
 
  bResultat = iNbPomme == 3 or iNbBierre == 2
  # bResultat contient true
end



Peut-être que certains sont déjà largués, je vais donc vous expliquez les opérateurs logiques (==, , or, and,...). Ces opérateurs permettent de faire des calculs sur des variables et d'en ressortir un résultat booléen :
X > Y sera égale à true si X est supérieur à Y, et false si ce n'est pas le cas. C'est le même fonctionnement pour les comparaison de valeur.
/!\ Attention, une très grande source d'erreur réside dans le == souvent remplacé par inadvertence par =, ce qui au lieu de faire une comparaison, provoque une affectation.

Les comparateurs :
== : égal
!= : différent
< : strictemet inférieur
<= : Inférieur ou égal
> : strictement supérieur
>= : supérieur ou égal

Les tables opérateurs :
- and
'false and false' donne false
'false and true' donne false
'true and false' donne false
'true and true' donne true

- or
'false or false' donne false
'false or true' donne true
'true or false' donne true
'true or true' donne true

- xor
'false xor false' donne false
'false xor true' donne true
'true xor false' donne true
'true xor true' donne false

- not (!)
'not false' donne true
'not true' donne false

- ? :
'true ? X : Y' donne X
'false ? X : Y' donne Y


Avec ceci, vous avez l'ensemble des possiblités de calcul en booléen, mais je vais mettre quelques exemples sumplémentaires, pour plus de clarté.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def exemple1
  iNbPomme = 5
  iNbSirop = 6
  iNbVerre = 4
 
  bResultat = iNbSirop > iNbVerre
  # bResultat contient true
end
 
def exemple2
  iNbPomme = 5
  iNbSirop = 6
  iNbVerre = 4
 
  bResultat = iNbSirop > 4 and iNbVerre > 4
  # bResultat contient false, car true and false donne false
end
 
def exemple3
  iNbPomme = 5
  iNbSirop = 6
  iNbVerre = 4
 
  bResultat = iNbSirop > 4 or iNbVerre > 4
  # bResultat contient true, car true or false donne true
end
 
def exemple4
  iNbPomme = 5
  iNbSirop = 6
  iNbVerre = 4
 
  bResultat = ( iNbSirop > iNbVerre  ? iNbPomme : 0 )
  # bResultat contient 5
end 



Si il y a des questions, il ne faut pas hésiter à les poser.


Source
- Tonyryu, "[Ruby] Cours n°3 : Les Booléens et les calculs logiques", TonyryuDev, écrit le 2 août 2013 [consulté le 4 juillet 2021], https://web.archive.org/web/20181202044038/http://www.tonyryudev.com/joomla3/index.php/menu-mes-developpements/menu-cours-ruby-rgss/4-ruby-cours-n-3-les-booleens-et-les-calculs-logiques
Ce tutoriel a été posté avec l'accord de son auteur.


Aucun commentaire n'a été posté pour le moment.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers