Partagez
Aller en bas

Niveau de compréhension du tuto

18 - 60%
5 - 17%
4 - 13%
1 - 3%
2 - 7%
 
Total des votes: 30
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 28
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

[Tutoriel RUBY] Les rudiments du Ruby Empty [Tutoriel RUBY] Les rudiments du Ruby

le Dim 3 Fév 2008 - 20:13
Etant moi-même en plein apprentissage du Ruby, j'ai décidé de vous faire partager mes acquis en ce qui concerne ce (fabuleux) langage de programmation particulièrement efficace sous XP et VX.

ATTENTION Je n'ai pas encore eu le temps d'étudier en profondeur les changements opérés de RGSS vers RGSS2, donc ces tutos concernent entièrement le scripting sous RMXP.

Allons-y! [Tutoriel RUBY] Les rudiments du Ruby 409336




1) Introduction [Tutoriel RUBY] Les rudiments du Ruby 545134

Le Ruby, c’est facile! Mais, en fait, le Ruby, c’est quoi ?[Tutoriel RUBY] Les rudiments du Ruby 485497

Le Ruby, c’est un langage de programmation orienté objet, ce qui signifie que TOUT est un objet dans un script Ruby.

Par exemple, :

- La classe « Scene_Map » est un objet Ruby
- La méthode « Initialize » est un objet Ruby
- La variable globale « $machintruc » est un objet Ruby
- La condition « If input trigger » est un objet Ruby
- Etc…






2) Définitions des termes utilisés [Tutoriel RUBY] Les rudiments du Ruby 697634

Le Ruby comprend plusieurs termes spécifiques à ce langage. Nous allons ici découvrir ce que veulent dire ces termes indigènes [Tutoriel RUBY] Les rudiments du Ruby 226233

Classe (Class) :
Une class (Nous utiliserons toujours les termes anglophones pour plus de facilité In Script) est une sorte d’ ensemble, qui contient un autre ensemble d’informations.
Par exemple, la class « Panier de Fruits » contient les méthodes « Ajouter fruit » et « Retirer fruit », et contient les objets « Pomme », « Poire » et « Orange ».

Méthode (Method) :
Une method est l’application d’instructions. Par exemple nous avons la méthode « Ajouter Fruit » qui dit qu’on ajoute un fruit au panier.

Objet :

Un objet in script est un élément particulier d’un ensemble d’infos. Par exemple, dans la class « Panier de Fruits », on a les objets « Pomme », « Poire » et « Orange ».

Newbie a écrit:Attends, attends! T'as dit que un objet, c'était n'importe quoi en Ruby! Tout ce qui est du Ruby est objet! A l'aide, j'ai un plomb qui pète! [Tutoriel RUBY] Les rudiments du Ruby 27958

Attention à ne pas confondre avec la définition générale du Ruby…
Le terme OBJET en Ruby désigne au sens large le contenu d'un script, et au sens strict (ici, donc) une information propre à une method dans une class.

Variable :

Il existe, comme cité plus haut, plusieurs types de variable dans le Ruby.

Variable Globale :
Une variable globale est une variable à laquelle on attribue quelque chose. Cette variable aura exactement le même contenu partout dans n’importe quel script du système. Si quelque part on change ce contenu, il sera changé partout où la variable est inscrite également.

Ces variables sont facilement reconnaissables, elles sont toujours précédées d’un signe $.

Si par exemple il n’y a qu’un seul joueur en jeu, alors on peut utiliser la variable globale, ce qui donnerait ceci :

Code:
Joueur 1
$hp==XXX
Attention! Cet extrait de code est un exemple pour permettre une compréhension plus aisée, mais il n'est en rien correct en Ruby strict (pas de définition, de class, de syntaxe appropriée, etc...)



Variable Particulière :
Une variable particulière est une variable spécifique à quelque chose, à un objet le plus souvent. Aucune autre variable n’aura sa valeur. Utile lors de la création de plusieurs variables variant très peu de caractéristiques.

Ces variables sont facilement reconnaissables car elles sont toujours précédées d’un signe @.

Pour exemple, imaginons une chienne venant de mettre bas. Pour créer une portée de 5 chiots, nous devons créer un "moule" servant à créer chaque chiot, avec ses caractéristiques propres. Le voici (nous verrons ces notions plus tard en détail, ce n'est pas l'objet principal de ce chapitre) :
Code:
class Chiot                                          # Création du "moule" d'un chiot avec ses stats
  def initialize
    @santé = 100
    @besoins = 5
    @faim = 0
  end
Le texte précédé d'un # dans ce bout de code s'appelle un commentaire. Ils servent au créateur à indiquer toutes sortes de choses qui ne seront pas exécutées par le script, tels que des informations, des instructions d'utilisations, ou encore des descriptions pour les scripteurs ordonnés.



Définition :
Une définition dans un script sert à initialiser les informations nécessaires au fonctionnement du script. Par exemple, reprenons notre panier de fruits, si l’on veut ajouter un fruit, il faut expliquer à RMXP comment. Voici le code :
Code:
def Ajouter un Fruit
   @pommes = @pommes + 1
   @poires= @poires + 1
   @oranges= @oranges +1
end
Elles sont facilement reconnaissables. Toujours construites selon le même schéma (à savoir « def machintruc »), elles sont aussi toujours terminées par un end.




Si vous lisez ce bout de texte, ça veut dire que vous avez tout suivi sans balancer votre ordi par la fenêtre [Tutoriel RUBY] Les rudiments du Ruby 29030
Félicitations! [Tutoriel RUBY] Les rudiments du Ruby 434126

Cette introduction au Ruby permet aux néophytes d'en savoir plus à propos des termes et utilités. Evidemment, cette liste n'est pas exhaustive, il y a encore beaucoup d'autres caractéristiques du Ruby! [Tutoriel RUBY] Les rudiments du Ruby 919540

J'ai essayé d'établir ce tuto de façon la plus claire et lisible possible, pour permettre une bonne compréhension.

Pour terminer, voici un script mettant en application tous les éléments vus dans ce chapitre (à savoir les variables, méthodes, etc). Analysez-le et tentez d'en comprendre le fonctionnement.

Naturellement, n'étant pas infaillible, j'ai pu commettre des erreurs. Si vous en avez repéré, ou si même vous avez des questions ou des problèmes, n'hésitez pas à les poser, je pense que les scripteurs du forum tenteront de vous répondre au mieux.

Spoiler:
Je conseille de copier ce code dans un script vierge sous RMXP pour plus de lisibilité.
Code:
#==========================================================#
#                    Script servant d'évaluation n°1 - Gamemaker                                #
#==========================================================#

class Chiot                                          # Création du "moule" d'un chiot avec ses stats
  def initialize
    @santé = 100
    @besoins = 5
    @faim = 0
  end

                                                            # un chiot quelconque qui mange
  def manger
    @faim = @faim + 50
    @besoins = @besoins + 30
  end

                                                            # un chiot quelconque qui fait ses besoins
  def petits_besoins
    @besoins = @besoins - 30
  end
end
   

class Chien_et_compagnie
  #dans creer_famille, je dis que Billy est un Chiot, Baggy est un Chiot, Batty est un chiot, etc...
  def creer_famille
    @Billy = Chiot.new
    @Batty = Chiot.new
    @Boggy = Chiot.new
    @Budy = Chiot.new
  end

                                                  #dans manger_famille, je dis que chaque chiot doit manger...
  def manger_en_famille
    @Billy.manger
    @Batty.manger
    @Boggy.manger
    @Budy.manger
  end

  def petits_besoins_en_famille
    @Billy.petits_besoins
    @Batty.petits_besoins
    @Boggy.petits_besoins
    @Budy.petits_besoins
  end                                                                          #Fin de la method

end                                                                          #Fin de la class : fin du script.



Enjoy! [Tutoriel RUBY] Les rudiments du Ruby 263772


Dernière édition par le Lun 4 Fév 2008 - 9:35, édité 1 fois
Mister Geek
Mister Geek
Staffeux retraité

Nombre de messages : 719
Age : 25
Localisation : Vosges
Distinction : aucune
Date d'inscription : 20/12/2007

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Dim 3 Fév 2008 - 21:25
Game', tu sais que j'te kiffe ? [Tutoriel RUBY] Les rudiments du Ruby 319323

Ton tuto m'a déjà servis, j'espère qu'il en sera de même pour les autres ! Very Happy
Douk
Douk
Membre

Nombre de messages : 296
Age : 25
Distinction : aucune
Date d'inscription : 23/04/2008
http://www.arcantia.info-a.googlepages.com/index.html

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Ven 2 Mai 2008 - 19:30
Excellent !
J'ai tout compris, même si ce n'est que des bases ça m'a beaucoup appris !
Bravo à toi et merci. [Tutoriel RUBY] Les rudiments du Ruby 434126
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Ven 2 Mai 2008 - 21:54
tuto clair, par contre, je ne sais pas si c'est exprès, mais tu n'as pas parlé ni des constantes (VARIABLE), ni des variables de methode ( variable), ni de module (@@variable)...
peut etre ne faut il pas tout devoiler d'un coup ^^
avatar
metaking
Membre

Nombre de messages : 368
Age : 24
Distinction : aucune
Date d'inscription : 18/04/2008

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Sam 3 Mai 2008 - 8:07
mentenant je vois plus clair merci !
super tuto
Azaki
Azaki
Modérateur

Nombre de messages : 1742
Age : 26
Localisation : Dans ton cul(stom), t'as vu, tarba? é_è
Distinction : Commentateur sportif
Indépendantiste Breton
Chevalier de lumière
Membre du Haruhi fan-club
Membre du Tsukasa Nishino fan-club.
[Chou n°3]
Mist' Wink

Fils caché de Francis L'Alan
[Coco' Smile]
Chevalier Noir
Ex-Empereur d'Erem Vehyx (ou pas!! x) )

Date d'inscription : 14/05/2008

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Mer 14 Mai 2008 - 19:18
Super! et en plus j'en cherchais un tuto Ruby!
claire
claire
Membre

Nombre de messages : 459
Age : 24
Localisation : Pardies
Distinction : aucune
Date d'inscription : 28/02/2008
http://wyzigoth.site.voila.fr/

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Mer 14 Mai 2008 - 19:35
Ce tuto est très Claire et très utile, merci Gamemaker !
gasha-17
gasha-17
Membre

Nombre de messages : 180
Age : 27
Distinction : aucune
Date d'inscription : 15/04/2008

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Mer 14 Mai 2008 - 21:46
merci beaucoup pour le tuto [Tutoriel RUBY] Les rudiments du Ruby 724130

çà va me servir

j'ai hâte de voir tes prochains tutos sur le ruby [Tutoriel RUBY] Les rudiments du Ruby 919540
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 28
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Mer 14 Mai 2008 - 22:35
Ca fait plaisir, ça sert à quelque chose finalement [Tutoriel RUBY] Les rudiments du Ruby 450709

Mouais, le prochain tuto Ruby... Y'en aura pas. J'l'apprends plus, mon prof est mort [Tutoriel RUBY] Les rudiments du Ruby 450709 demandez à Berka.
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Mer 14 Mai 2008 - 22:47
mon prof est mort
confused [Tutoriel RUBY] Les rudiments du Ruby 153215


ben, il va falloir attendre l'ouverture de mon site...

un tout petit apercu !
http://rpgruby.olympe-network.com
Azaki
Azaki
Modérateur

Nombre de messages : 1742
Age : 26
Localisation : Dans ton cul(stom), t'as vu, tarba? é_è
Distinction : Commentateur sportif
Indépendantiste Breton
Chevalier de lumière
Membre du Haruhi fan-club
Membre du Tsukasa Nishino fan-club.
[Chou n°3]
Mist' Wink

Fils caché de Francis L'Alan
[Coco' Smile]
Chevalier Noir
Ex-Empereur d'Erem Vehyx (ou pas!! x) )

Date d'inscription : 14/05/2008

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Jeu 15 Mai 2008 - 10:46
On va en apprendre des choses sur ton site!^^
Tu le mettera en partenariat avec ce forum?^^
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 28
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

[Tutoriel RUBY] Les rudiments du Ruby Empty Re: [Tutoriel RUBY] Les rudiments du Ruby

le Ven 16 Mai 2008 - 18:15
C'est GM qui m'apprenait le Ruby, mais il s'est fait priver d'ordi ce con xD bref.

Bien ton site Berka, me réjouis de lire la suite Smile
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum