Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

386 connectés actuellement

29191495 visiteurs
depuis l'ouverture

6546 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Le Comptoir Du clickeur

Leo-Games

Hellsoft

RPG Fusion

Tous nos partenaires

Devenir
partenaire



[Ruby] Cours n°6 : Boucle Loop do et while

Série de tutoriels sur le Ruby. Dans ce cours, nous allons voir le fonctionnement d'une structure dite 'boucle'.

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°6 : Boucle Loop do et while


Dans ce cours, nous allons voir le fonctionnement d'une structure dite 'boucle'. Il existe plusieur fonctions permettant de réaliser des boucles en programmation. Pourquoi boucle? C'est très simple, car une fois arrivé à la fin de la structure, le déroulement du programme reprend au début de cette structure, on peut sortir de cette boucle sous certaine condition, en fonction de la structure utilisée.

Nous allons donc voir pour commencer, la struture 'loop do' litéralement en français, 'boucle faire'.

En Ruby, c'est la boucle la plus simple, car elle fonctionne sans condition, une fois que le programme est dans cette boucle, le seul moyen de l'interrompre est de la casser 'break'

Aller hop, encore un exemple simple en algorythme avec une bouteille et un verre :

Citation:

Fonction : RemplirMonVerre

Variables :
maBouteille contient liquide
monVerre contient du liquide

Début :
| maBouteille <- jus d'orange
| monVerre <- rien
| Boucle faire
| | monVerre <- monVerre + 5 cl de maBouteille
| | Si monVerre est plein
| | | Casser la boucle
| | FinSi
| FinBoucle
| Boire monVerre
Fin



Vous constaterez qu'une condition est nécessaire pour pouvoir sortir de la boucle, sinon je continuerai a verser du jus d'orange dans mon verre.
Vous aurez remarqué une petite subtilité dans l'algorythme étant cette ligne : 'monVerre <- monVerre + 5 cl de maBouteille' cela veut dire que je rajoute 5cl de jus d'orange à mon verre, si j'avais juste écris 'monVerre <- 5 cl de maBouteille', le contenue du verre n'aurait jamais changé.

Voici le même exemple, mais cette fois ci, codé en ruby, on utilisera les volumes de la bouteille et du verre comme variable.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
def remplirMonVerre
  contenuBouteille = 100
  contenuVerre = 0
  volumeVerreMax = 30
  loop do
    contenuVerre += 5
    contenuBouteille -= 5
    if contenuVerre == volumeVerreMax
      break
    end
  end
  boire( contenuVerre)
end



Il y a eu quelques modifications apportées vis a vis de l'algorythme, car nous avons utilisé des volumes, faciles à calculer.
'variable += x' incrémente la variable de x
'variable -= x' décrémente la variable de x

Nous allons donc voir pour continuer, la struture 'while' litéralement en français, 'Tant Que'. Elle diffère de la fonction 'loop do' par le fait qu'elle peut être conditionnée.

Aller hop, encore un exemple simple en algorythme avec une bouteille :

Citation:

Fonction : RemplirMonVerre

Variables :
maBouteille contient liquide
monVerre contient du liquide

Début :
| maBouteille <- jus d'orange
| monVerre <- rien
| TantQue monVerre n'est pas plein
| | monVerre <- monVerre + 10 cl de maBouteille
| FinTantQue
| Boire monVerre
Fin



Cela peut paraitre un peu compliqué au premier coup d'oeil, je vais expliquer en détail la structure :

Citation:


| TantQue monVerre n'est pas plein
| | monVerre <- monVerre + 10 cl de maBouteille
| FinTantQue



La ligne 'TantQue monVerre n'est pas plein' litéralement, permet une action jusqu'a ce qu'une condition soit vérifié. En gros, TantQue condition est fausse faire les actions de la boucle.

Je reprends le même exemple en ruby, en utilisant là aussi les volumes :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
def remplirMonVerre
contenuBouteille = 100
contenuVerre = 0
volumeVerreMax = 30
while contenuVerre != volumeVerreMax
contenuVerre += 5
contenuBouteille -= 5
end
boire( contenuVerre)
end



Cela permet par rapport à la boucle loop do, de directement conditionner la sortie de boucle. Mais attention, regarder bien la diférence au niveau de la condition, pour 'while' : TantQue condition est fausse.

Source
- Tonyryu, "
[Ruby] Cours n°6 : Boucle Loop do et while
", TonyryuDev, écrit le 2 août 2013 [consulté le 4 juillet 2021], https://web.archive.org/web/20181202044054/http://www.tonyryudev.com/joomla3/index.php/menu-mes-developpements/menu-cours-ruby-rgss/7-ruby-cours-n-6-boucle-loop-do-et-while
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