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

477 connectés actuellement

29189141 visiteurs
depuis l'ouverture

4192 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Maker - La Communauté

Hellsoft

RPG Fusion

Lumen

Lunae - le bazar d'Emz0

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RMXP] Est-ce que lq syntaxe est bonne


esziaprez game - posté le 13/12/2012 à 10:20:10 (441 messages postés)

❤ 0

Je suis dans le game !

Domaine concerné: RGSS
Logiciel utilisé: RMXP
COUCHE DE DONNEES STATIQUES

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class RPG::Equipementvaisseau
   
  def initialize
    @id = 0
    @type = ""
    @name = ""
    @description = ""
    @solidite = 0
    @capacite = 0
    @consomationNRJ = 0
  end
 
  attr_accessor :id
  attr_accessor :name
  attr_accessor :description
  attr_accessor :solidite
  attr_accessor :usure
  attr_accessor :capacite
  attr_accessor :consomationNRJ
 
end
 
class Scene_Title
 
  alias equipementvaisseau_main main
  def main
    # Au début de l'écran titre
    # si le jeu n'est pas crypté
    if $DEBUG
      # on crée le dossier "lesequipementsvaisseau Data" si il n'existe pas déjà
      begin
        Dir.mkdir("lesequipementsvaisseau Data")
      rescue
      end
      # on crée le fichier Data/lesequipementsvaisseau.rxdata
      create_lesequipementsvaisseau_rxdata
    end
    # on charge la base de données des quêtes
    $data_equipementvaisseau = load_data("Data/lesequipementsvaisseau.rxdata")
    # on execute le reste de l'écran titre
   equipementvaisseau_main
  end
 
  # Méthode de création du fichier Data/lesequipementsvaisseau.rxdata
  def create_lesequipementsvaisseau_rxdata
    # Le tableau qui contiendra les objets RPG::Equipementvaisseau
    lesequipementsvaisseau_data = []
    # Pour chaque fichier texte dans le dossier "lesequipementsvaisseau Data"
    for file_name in Dir["lesequipementsvaisseau Data/*.txt"]
      # on crée un nouvel objet RPG::Equipementvaisseau
      equipementvaisseau = RPG::Equipementvaisseau.new
      # on ouvre le fichier en mode lecture
      File.open(file_name, 'r') do |txt_file|
        # on initialise les propriétés de l'equipement
        # en lisant le fichier ligne par ligne
        equipementvaisseau.id = txt_file.readline.gsub("id : ", "").to_i
       equipementvaisseau.name = txt_file.readline.gsub("name : ", "").to_s
        equipementvaisseau.description = txt_file.readline.gsub("description : ", "").to_s
        equipementvaisseau.solidite = txt_file.readline.gsub("solidite : ", "").to_i
       equipementvaisseau.capacite = txt_file.readline.gsub("capacite : ", "").to_i
         equipementvaisseau.consomationNRJ = txt_file.readline.gsub("consomationNRJ : ", "").to_i
      end
      # on stocke l'objet RPG::Equipementvaisseau à son index dans le tableau
      equipementsvaisseau_data[equipementvaisseau.id] = equipementvaisseau
    end
    # On ouvre le fichier Data/equipementsvaisseau.rxdata en mode écriture binaire
    File.open("Data/equipementsvaisseau.rxdata", 'wb') do |rxdata_file|
      # on stocke le tableau des equipements du vaisseau dans le fichier Data/lesequipementsvaisseau.rxdata
      Marshal.dump(lesequipementsvaisseau_data, rxdata_file)
    end
  end
 
end
 



COUCHE DE DONNEES DYNAMIQUES

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
class Game_Equipementvaisseau
 
  attr_accessor :id
  attr_accessor :type
  attr_accessor :name
  attr_accessor :description
  attr_accessor :solidite
  attr_accessor :usure
  attr_accessor :capacite
  attr_accessor :consomationNRJ
 
  def initialize(equipementvaisseau_id)
    # On récupère tout d'abord l'objet RPG::equipementvaisseau pour l'initialisation
    equipementvaisseau = $data_lesequipementsvaisseau[equipementvaisseau_id]
     # et on initialise les données
    @id = equipementvaisseau.id
    @name = equipementvaisseau.name
    @description = equipementvaisseau.descriptioon
    @solidite = equipementvaisseau.solidite
    @capacite = equipementvaisseau.capacite
    @consomationNRJ = equipementvaisseau.consomationNRJ
    # L'equipement n'est pas use au départ
    @usure = 0
    @fonctionne = 3 #0=detruit, 1=panne, 2=avarie, 3=plein regime
  end
 
  # Méthode qui renvoie si l'equipement l'etat de fonction de l'equipement
  def fonctionne?
    return @fonctionne
  end
 
# Méthode qui permet de definir si l equipement fonctionne
  def verif_etat
if @solidite<=0
elsif @usure>=@solidite
   @usure==@solidite
        #ICI il y aura l option d' assignement automatique si un mechanicien est libre
    @fonctionne == 0
elsif usure>(solidite/3*2) 
    #ICI il y aura l option d'assignement automatique si un Mechanicien est libre
     @fonctionne == 2
elsif @usure<=0
    @usure==0
    @fonctionne == 3
elsif @usure<(solidite/3*2) 
    @fonctionne == 3
end
  end
 
end



partie2

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
class Game_Party
 
  attr_reader :lesequipementsvaisseau
@prodNRJ =0
@vitesse =0
@Champ =0
@blindage =0
@puissance =0 
 
  # On rajoute dans Game_Party un tableau qui contient les equipements recus 
# et les caracteritique actuel
  alias equipementvaissau_initialize initialize
  def initialize
    equipementvaissau_initialize
    @equipement du vaisseau = [@noyauduvaisseau, @moteurduvaisseau, @generateurchampsduvaisseau, @blindageduvaisseau, @armementduvaisseau]
    @caracteristiquesduvaisseau = [@prodNRJ, @consomationNRJ, @vitesse, @blindage, @puissancefeu, @champ]
   refresh
  end
 
  # Méthode qui pemet de recevoir un equipement
  def get_equipementvaisseau(equipementvaisseau_id, equipementvaisseau_type)
if |equipementvaisseau|(equipementvaisseau_type) =="noyaux"
    # On ajoute à la liste des equipements un nouvel objet Game_equipementvaisseau
@noyauxduvaisseau << Game_equipementvaisseau.new(equipementvaisseau_id)
elseif |equipementvaisseau|(equipementvaisseau_type) =="moteur"
    # On ajoute à la liste des equipements un nouvel objet Game_equipementvaisseau
@moteurduvaisseau << Game_equipementvaisseau.new(equipementvaisseau_id)
elseif |equipementvaisseau|(equipementvaisseau_type) =="generateur de champ"
    # On ajoute à la liste des equipements un nouvel objet Game_equipementvaisseau
@generateurchampsduvaisseau << Game_equipementvaisseau.new(equipementvaisseau_id)
elseif |equipementvaisseau|(equipementvaisseau_type) =="blindage"
    # On ajoute à la liste des equipements un nouvel objet Game_equipementvaisseau
@blindageduvaisseau << Game_equipementvaisseau.new(equipementvaisseau_id)
elseif |equipementvaisseau|(equipementvaisseau_type) =="armement"
    # On ajoute à la liste des equipements un nouvel objet Game_equipementvaisseau
@armementduvaisseau << Game_equipementvaisseau.new(equipementvaisseau_id)
  end
 
  # Méthode qui permet modifier l'usure d'un equipement
  def usure_equipementvaisseau(equipementvaisseau_id)
    # On récupère une equipementvaisseau d'id equipementvaisseau_id
    equipementvaisseau = @equipementvaisseau.find { |equipementvaisseau|
      equipementvaisseau.id == equipementvaisseau_id}
    # Si un tel equipement existe, on lui augmente usure
    equipementvaisseau.usure=+1 if equipementvaisseau != nil
  end
 
#Methode qui renvoi de caracteristique refresh
def refresh
 
#On renvoi le blindage en fonction du typ de blindage et de son etat
@blindage == @blindageduvaisseau(solidite)-|@blindageduvaisseau|(usure) 
#on calcul le blindage enfonction de la solidite et de son etat d'usure
 
#on renvoi la production d'energie du noyau en fonction de l equipement et de son etat
if |@noyauduvaisseau|(fonctionne)=3 #si il fonctionne a plein regime
   @prodNRJ == @noyauduvaisseau(capacite) #il renvoi sa capacite de prod d NRJ
elsif @noyauduvaisseau(fonctionne)=2#sinon si il fonctionne en mode avarie
   @prodNRJ == @noyauduvaisseau(capacite)/2# il ne renvoi que la moitie
else
   @prodNRJ == 0#sinon il ne produit pas d'energie
end
 
#on renvoi la vitesse en fonction du moteur, de son etat et de son alimentation en NRJ
if @moteurduvaisseau(fonctionne)=3#si il fonctionne a plein regime
   if prodNRJ >@moteurduvaisseau(consomationNRJ)#si il y a assez dNRJ pour l'alimenter
      vitesse == @moteurduvaisseau(capacite)#il renvoi sa capacite
   else
      vitesse == 0#si il n' y a pas assez dNRJ pour l'alimenter le vaisseau n'avance pas
   end
elsif |@moteurduvaisseau|(fonctionne)=2#sinon si il fonctionne en mode avarie
   if prodNRJ >@moteurduvaisseau(consomationNRJ)#si il y a assez dNRJ pour l'alimenter
   vitesse == @moteuruduvaisseau(capacite)/2# il ne renvoi aue la moitie de sa capacite
   else
   vitesse == 0#si il n' y a pas assez dNRJ pour l'alimenter le vaisseau n'avance pas
   end
else
   vitesse == 0#si le moteur est trop endomage le vaisseau n'avance pas
end
 
#on renvoi la puissance de l'amement, en fonctionde son etat et de son alimentation en NRJ
if |@armementduvaisseau|(fonctionne)=3#si il fonctionne a plein regime
   if @prodNRJ-@moteurduvaisseau(consomationNRJ)>@armementduvaisseau(consomationNRJ)#si il y a assez dNRJ pour l'alimenter en plus du moteur
      @puissance == @armementduvaisseau(capacite)#il renvoi sa capacite
   else
      @puissance == 0#si il n' y a pas assez dNRJ pour l'alimenter le vaisseau ne tir pas
   end
elseif @armementduvaisseau|fonctionne)=2#sinon si il fonctionne en mode avarie
   if @prodNRJ-@moteurduvaisseau(consomationNRJ)>|@armementduvaisseau|(consomationNRJ)#si il y a assez dNRJ pour l'alimenter en plus du moteur
      @puissance == @armementduvaisseau(capacite)/2# il ne renvoi aue la moitie de sa capacite
   else
      @puissance == 0#si il n' y a pas assez dNRJ pour l'alimenter le vaisseau ne tir pas
   end
else
   @puissance == 0#si lesarmes sont trop endomagees le vaisseau ne tir pas
end
 
#on renvoi la puissance du champ de force en fonctionde son etat et de son alimentation en NRJ
if @champduvaisseau(fonctionne)=3#si il fonctionne a plein regime
   if @prodNRJ-@moteurduvaisseau(consomationNRJ)>@champduvaisseau(consomationNRJ)#si il y a assez dNRJ pour l'alimenter en plus du reste
       @champ == @champduvaisseau(capacite)#il renvoi sa capacite
   else
       @champ == 0#si il n' y a pas assez dNRJ pour l'alimenter le champ
   end
elsif @champduvaisseau(fonctionne)=2#sinon si il fonctionne en mode avarie
   if @prodNRJ-@moteurduvaisseau(consomationNRJ)>|@champduvaisseau|(consomationNRJ)#si il y a assez dNRJ pour l'alimenter en plus du reste
      @champ == @champduvaisseau(capacite)/2# il ne renvoi aue la moitie de sa capacite
   else
      @champ == 0#si il n' y a pas assez dNRJ pour l'alimenter le champ
   end
else
   @champ == 0#si le champest trop endomage
end
 
end



Pour modifier l usure d'un equipement
$game_party.usure_equipementvaisseau(equipementvaisseau_id)

Pour recevoir un equipement d'id XXXX, on utilisera le script
Code Ruby
$game_party.get_equipementvaisseau(XXX)")

LA SCENE

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
 
class Window_vitesse < Window_Base
 
attr_reader = vitesse
attr_reader = champ
attr_reader = blindage
attr_reader = puissance
attr_reader = prodNRJ
 
def initialize
        # Dimension de la fenêtre 
    super(0, 0, 160, 64) 
        # Création du Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
        # Police et taille du texte.
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
        # Appelle la méthode "Refresh" pour initialiser le texte
    refresh
  end
  
  def refresh
    # Effacement du contenu de la fenêtre
    self.contents.clear
        # Affichage du texte
    self.contents.draw_text(0, 0, 120, 32, "NRJ : "+ProdNRJ.to_s+" "+"Vtsse : "+vitesse.to_s+" "+"blind. : "+blindage.to_s+" "+"Chp : "+Champ.to_s+" "+"PdF : "+puissance.to_s)
 end
end

¦/spoiler]

Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER  /// GALERIE


Grimimi - posté le 13/12/2012 à 14:46:29 (251 messages postés)

❤ 0

Citation:

attr_reader = Game_Party.vitesse
attr_reader = Game_Party.champ
attr_reader = Game_Party.blindage
attr_reader = Game_Party.puissance
attr_reader = Game_party.prodNRJ


wtf?

http://funkywork.github.io/


arttroy - posté le 13/12/2012 à 19:35:41 (2394 messages postés)

❤ 0

Just working

attr_reader :vitesse
attr_reader :champ
attr_reader :blindage
....

je pense que ce sera mieux...

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


esziaprez game - posté le 14/12/2012 à 18:27:16 (441 messages postés)

❤ 0

Je suis dans le game !

ok merci je corrige
A part ca le reste parait normal ?

Je vais programmer le reste de mon code mais je voulais savoir si je me plantais pas avant de continuer et de tester le rendu. Escusez moi j'ai un peu de mal avec les tutos et les cours pour apprendre donc je risque de poser pas mal de questions un peu chiante. desole. :hihi

Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER  /// GALERIE

Index du forum > Entraide > [RMXP] Est-ce que lq syntaxe est bonne

repondre up

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