IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

MCD modélisé à partir de l'étude de la structure d'un fichier XML - Vos avis ?


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Novembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Contrôleur de gestion

    Informations forums :
    Inscription : Novembre 2014
    Messages : 22
    Points : 14
    Points
    14
    Par défaut MCD modélisé à partir de l'étude de la structure d'un fichier XML - Vos avis ?
    Bonjour,

    Comme expliqué dans le titre du sujet, je cherche à modéliser un MCD à partir de la structure d'un fichier XML.
    Mon objectif à terme est de modifier avec XSLT le document XML afin de pouvoir l'importer dans une base de donnée qui sera basé sur le MCD.

    Pour chaque MCD que je vais vous présenter, je vais fournir un extrait du XML associé, et en expliqué les <élément> pour avoir une idée globale du sujet sur lequel porte le MCD.
    De façon générale, il s'agit d'un jeu vidéo qui contient donc des personnages. Ces personnages peuvent utiliser des items. Ces items ont différentes caractéristiques et on peut les modifier de plusieurs façon. J'expliquerais plus en détails au fur et à mesure.

    1 - fichier setitem.xml et MCD associé

    1-1 - Extrait du fichier XML
    Ce fichier contient l'ensemble des sets d'équipement disponible dans le jeu.
    Un set d'équipement est un ensemble d'objet "liés" les uns aux autres. On peut considérer qu'ils sont assortis. Ces objets vont ensemble comme vos couteaux et vos fourchettes vont ensemble dans votre argenterie.
    Si nous portons plusieurs pièces du même set, voire le set entier, nous allons débloquer des stats supplémentaires qui iront s'ajouter aux stats de bases. Les stats sont les caractéristiques de l'item (votre couteau est en argent, il mesure Xcm etc.)

    Pour chaque Setitem nous allons avoir l'id du set ainsi que le nom du set.
    Ensuite nous avons la liste des items (nom de l'item) contenu dans le set. Le nombre d'item dans un set peut varier.
    Ensuite, nous avons, pour un nombre de pièce porté, les statistiques associées. Donc si je porte 2 parties du set, je débloque la stat "phyAttack" qui aura pour valeur 5....
    Enfin, nous avons les statistiques qui seront débloqué si nous portons le set entièrement.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <client_setitem>                                                                                           
      <id>338</id>                                                                                             
      <name>pl_runeweapon_fighter_e_01</name>                                                                  
      <desc>STR_PL_RUNEWEAPON_FIGHTER_E_01</desc>                                                              
      <item1>polearm_n_e_idruneweapon_fi</item1>                                                               
      <item3>pl_torso_n_e_idruneweapon_fi</item3>                                                              
      <item4>pl_pants_n_e_idruneweapon_fi</item4>                                                              
      <item5>pl_glove_n_e_idruneweapon_fi</item5>                                                              
      <item6>pl_shoes_n_e_idruneweapon_fi</item6>                                                              
      <item7>pl_shoulder_n_e_idruneweapon_fi</item7>                                                           
      <piece_bonus2>phyAttack 5;hitAccuracy 5;PhysicalDefend 18;magicalskillboostresist 15</piece_bonus2>      
      <piece_bonus4>phyAttack 5;hitAccuracy 5;PhysicalDefend 18;magicalskillboostresist 15</piece_bonus4>      
      <piece_bonus6>phyAttack 42;hitAccuracy 40;PhysicalDefend 81;magicalskillboostresist 48</piece_bonus6>    
      <fullset_bonus>Critical 45;pvpattackratio 12;Pvpdefendratio 40;maxFp 42</fullset_bonus>                  
    </client_setitem>                                                                                          
    <client_setitem>                                                                                           
      <id>339</id>                                                                                             
      <name>pl_runeweapon_fighter_m_01</name>                                                                  
      <desc>STR_PL_RUNEWEAPON_FIGHTER_M_01</desc>                                                              
      <item1>sword_n_m_idruneweapon_fi_a</item1>                                                               
      <item3>pl_torso_n_m_idruneweapon_fi_a</item3>                                                            
      <item4>pl_pants_n_m_idruneweapon_fi_a</item4>                                                            
      <item5>pl_glove_n_m_idruneweapon_fi_a</item5>                                                            
      <item6>pl_shoes_n_m_idruneweapon_fi_a</item6>                                                            
      <item7>pl_shoulder_n_m_idruneweapon_fi_a</item7>                                                         
      <piece_bonus2>phyAttack 5;hitAccuracy 5;PhysicalDefend 27;magicalskillboostresist 18</piece_bonus2>      
      <piece_bonus4>phyAttack 5;hitAccuracy 5;PhysicalDefend 27;magicalskillboostresist 18</piece_bonus4>      
      <piece_bonus6>phyAttack 42;hitAccuracy 40;PhysicalDefend 108;magicalskillboostresist 57</piece_bonus6>   
      <fullset_bonus>Critical 50;pvpattackratio 13;Pvpdefendratio 45;maxFp 44</fullset_bonus>                  
    </client_setitem>

    2-1 - MCD associé
    Nom : setitem.JPG
Affichages : 398
Taille : 35,0 Ko

    Détails: desc_item et desc_set correspondent à la description des objets. C'est un texte verbeux donnant des informations sur les objets. str_stat est un code permettant ensuite d'internationaliser le nom de la stat.

    2 - fichier item_random_option.xml et MCD associé

    2-1 - Extrait du fichier XML
    Ce fichier contient la liste des statistiques aléatoire d'un objet.
    Un objet, lorsqu'il est ramassé par le joueur n'est pas "identifié". Donc on sait que l'on a ramassé un arc mais ses statistiques sont masquées et on doit cliquer dessus pour afficher ses statistiques. Les statistiques que l'objet aura une fois que nous l'aurons identifié font partie d'un ensemble de groupe de statistiques concerné uniquement par cet objet. Chaque groupe de statistiques possède une probabilité d'apparaître sur l'arme lors de son identification.

    Nous aurons donc, pour chaque objet qui peut être identifié (il n'est pas obligatoire qu'un item soit identifiable), un ID, et le nom de l'item. ensuite, nous avons une liste de "groupe de stats". Chaque groupe de stats possède un id, une probabilité d'apparaître sur l'arme lors de l'identification, et ensuite un ensemble de statistiques.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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
        <id>130</id>                                                  
        <name>bow_n_m_idunderrune_65a</name>                          
        <random_attr_group_list>                                      
          <data>                                                      
            <attr_group_id>1</attr_group_id>                          
            <prob>700</prob>                                          
            <random_attr1>hitaccuracy 40</random_attr1>               
            <random_attr2>critical 30</random_attr2>                  
            <random_attr3>phyattack 20</random_attr3>                 
            <random_attr4>attackdelay 2%</random_attr4>               
          </data>                                                     
          <data>                                                      
            <attr_group_id>2</attr_group_id>                          
            <prob>400</prob>                                          
            <random_attr1>hitaccuracy 37</random_attr1>               
            <random_attr2>critical 27</random_attr2>                  
            <random_attr3>phyattack 20</random_attr3>                 
            <random_attr4>attackdelay 2%</random_attr4>               
          </data>                                                     
          <data>                                                      
            <attr_group_id>3</attr_group_id>                          
            <prob>400</prob>                                          
            <random_attr1>hitaccuracy 33</random_attr1>               
            <random_attr2>critical 30</random_attr2>                  
            <random_attr3>phyattack 18</random_attr3>                 
            <random_attr4>attackdelay 2%</random_attr4>               
          </data>                                                     
          <data>                                                      
            <attr_group_id>4</attr_group_id>                          
            <prob>1400</prob>                                         
            <random_attr1>hitaccuracy 22</random_attr1>               
            <random_attr2>critical 24</random_attr2>                  
            <random_attr3>phyattack 13</random_attr3>                 
          </data>                                                     
          <data>                                                      
            <attr_group_id>5</attr_group_id>                          
            <prob>1500</prob>                                         
            <random_attr1>hitaccuracy 26</random_attr1>               
            <random_attr2>critical 20</random_attr2>                  
            <random_attr3>phyattack 11</random_attr3>                 
            <random_attr4>attackdelay 2%</random_attr4>               
          </data>                                                     
          <data>                                                      
            <attr_group_id>6</attr_group_id>                          
            <prob>1400</prob>                                         
            <random_attr1>hitaccuracy 30</random_attr1>               
            <random_attr2>critical 14</random_attr2>                  
            <random_attr3>phyattack 9</random_attr3>                  
            <random_attr4>attackdelay 2%</random_attr4>               
          </data>                                                     
          <data>                                                      
            <attr_group_id>7</attr_group_id>                          
            <prob>1200</prob>                                         
            <random_attr1>hitaccuracy 18</random_attr1>               
            <random_attr2>critical 17</random_attr2>                  
            <random_attr3>phyattack 15</random_attr3>                 
            <random_attr4>attackdelay 2%</random_attr4>               
          </data>                                                     
          <data>                                                      
            <attr_group_id>8</attr_group_id>                          
            <prob>1000</prob>                                         
            <random_attr1>hitaccuracy 14</random_attr1>               
            <random_attr2>critical 10</random_attr2>                  
            <random_attr3>phyattack 4</random_attr3>                  
            <random_attr4>attackdelay 2%</random_attr4>               
          </data>                                                     
          <data>                                                      
            <attr_group_id>9</attr_group_id>                          
            <prob>1000</prob>                                         
            <random_attr1>hitaccuracy 10</random_attr1>               
            <random_attr2>critical 5</random_attr2>                   
            <random_attr3>phyattack 3</random_attr3>                  
          </data>                                                     
          <data>                                                      
            <attr_group_id>10</attr_group_id>                         
            <prob>1000</prob>                                         
            <random_attr1>hitaccuracy 2</random_attr1>                
            <random_attr2>critical 2</random_attr2>                   
            <random_attr3>phyattack 1</random_attr3>                  
            <random_attr4>attackdelay 2%</random_attr4>               
          </data>                                                     
        </random_attr_group_list>                                     
      </item_random_option>                                           
      <item_random_option>

    2-2 - MCD associé
    Nom : item_random_option.JPG
Affichages : 403
Taille : 40,2 Ko

    Vu que ça fait une boucle fermé, j'ai peur que ce ne soit pas bon, mais je ne sais pas comment faire autrement. En effet, un item possède des stats de base mais va également posséder des stats supplémentaires lorsque il sera identifié.

    3 - fichier polish_bonus_setlist.xml et MCD associé

    3-1 - Extrait du fichier XML

    Avant de décrire le contenu du fichier, il faut faire une petite aparté sur comment fonctionne un item. Un item, peut être une arme, une pièce d'équipement, ou plein d'autre chose. Les armes et autres équipements possèdes des statistiques. Ces stats peuvent ensuite être maximiser en faisant interagir notre item de base avec divers autres items. Ici nous allons parler du fait de pouvoir "polir" notre objet. Si nous faisons sur notre item une action de "polissage", nous allons ajouter à notre item des stats liées à la pierre à polir que nous avons utilisé.

    Ici, le but de ce fichier XML, c'est de regrouper, les statistiques qu'il sera possible d'avoir en fonction des différentes pierre à polir. Un détail supplémentaire, le fichier contient le nom du "bonus de polissage". Nous pouvons avoir plusieurs pierre à polir qui possède le même "bonus de polissage".

    Un "bonus de polissage" possède plusieurs groupes de stats qui seront appliqués de façon aléatoire, selon une probabilité, à l'item sur lequel on appliquera la pierre à polir.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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
      <polish_bonus_setlist>                                            
        <id>51</id>                                                     
        <name>cash_magatt_e_polish_set_01</name>                        
        <random_attr_group_list>                                        
          <data>                                                        
            <attr_group_id>1</attr_group_id>                            
            <prob>1000</prob>                                           
            <random_attr1>magicalskillboost 46</random_attr1>           
            <random_attr2>magicalcritical 13</random_attr2>             
            <random_attr3>PhysicalCriticalReduceRate 26</random_attr3>  
          </data>                                                       
          <data>                                                        
            <attr_group_id>2</attr_group_id>                            
            <prob>1000</prob>                                           
            <random_attr1>magicalskillboost 46</random_attr1>           
            <random_attr2>magicalcritical 13</random_attr2>             
            <random_attr3>magicalskillboostresist 55</random_attr3>     
          </data>                                                       
          <data>                                                        
            <attr_group_id>3</attr_group_id>                            
            <prob>1250</prob>                                           
            <random_attr1>magicalskillboost 46</random_attr1>           
            <random_attr2>magicalhitaccuracy 26</random_attr2>          
            <random_attr3>PhysicalCriticalReduceRate 26</random_attr3>  
          </data>                                                       
          <data>                                                        
            <attr_group_id>4</attr_group_id>                            
            <prob>1250</prob>                                           
            <random_attr1>magicalskillboost 46</random_attr1>           
            <random_attr2>magicalhitaccuracy 26</random_attr2>          
            <random_attr3>magicalskillboostresist 55</random_attr3>     
          </data>                                                       
          <data>                                                        
            <attr_group_id>5</attr_group_id>                            
            <prob>1000</prob>                                           
            <random_attr1>magicalskillboost 46</random_attr1>           
            <random_attr2>Pvpattackratio 2</random_attr2>               
            <random_attr3>PhysicalCriticalReduceRate 26</random_attr3>  
          </data>                                                       
          <data>                                                        
            <attr_group_id>6</attr_group_id>                            
            <prob>500</prob>                                            
            <random_attr1>magicalskillboost 46</random_attr1>           
            <random_attr2>Pvpattackratio 5</random_attr2>               
            <random_attr3>magicalskillboostresist 55</random_attr3>     
          </data>                                                       
          <data>                                                        
            <attr_group_id>7</attr_group_id>                            
            <prob>1250</prob>                                           
            <random_attr1>magicalcritical 13</random_attr1>             
            <random_attr2>magicalhitaccuracy 26</random_attr2>          
            <random_attr3>PhysicalCriticalReduceRate 26</random_attr3>  
          </data>                                                       
          <data>                                                        
            <attr_group_id>8</attr_group_id>                            
            <prob>1250</prob>                                           
            <random_attr1>magicalcritical 13</random_attr1>             
            <random_attr2>magicalhitaccuracy 26</random_attr2>          
            <random_attr3>magicalskillboostresist 55</random_attr3>     
          </data>                                                       
          <data>                                                        
            <attr_group_id>9</attr_group_id>                            
            <prob>1000</prob>                                           
            <random_attr1>magicalcritical 13</random_attr1>             
            <random_attr2>Pvpattackratio 2</random_attr2>               
            <random_attr3>PhysicalCriticalReduceRate 26</random_attr3>  
          </data>                                                       
          <data>                                                        
            <attr_group_id>10</attr_group_id>                           
            <prob>500</prob>                                            
            <random_attr1>magicalcritical 13</random_attr1>             
            <random_attr2>Pvpattackratio 5</random_attr2>               
            <random_attr3>magicalskillboostresist 55</random_attr3>     
          </data>                                                       
        </random_attr_group_list>                                       
      </polish_bonus_setlist>

    3-2 - MCD associé
    Nom : polish_bonus_setlist.JPG
Affichages : 255
Taille : 34,9 Ko

    4 - fichier item_upgrade.xml et MCD associé

    4-1 - Extrait du fichier XML

    Ici, nous partons sur une nouvelle notion relativement simple. Imaginons un item A, et un item B. L'item A est moins bien que l'item B. Nous décidons donc d'upgrader notre item A en item B. Mais pour faire cela il y a des restrictions, et un coût. La restriction concerne une autre notion que nous verrons après, il s'agit du niveau d'enchantement de notre objet. Notre objet, pour être upgrader, doit avoir un certain niveau d'enchantement. Ensuite, il faut payer pour upgrade l'item A en item B.

    nous aurons donc dans le fichier XML, pour l'item que nous souhaitons upgrader, un ID "d'upgrade" et le nom de l'item que l'on souhaite upgrade.
    Ensuite, nous avons la liste des upgrade possible contenant:
    - Le nom de l'item upgrade. Donc le nom de l'item B que l'on va acquérir une fois l'upgrade terminé. (car il est possible d'upgrade l'item A en différents items, item B ou C ou....)
    - la restriction d'enchantement: dans notre extrait XML l'item doit être enchanté +10
    - Objet1 requis: nom de l'objet en question (ici des médailles) (fait partie de la liste des items)
    - Qté de l'objet1 requis:
    - Objet 2 requis: un autre item (fait partie de la liste des items)
    - Qté de l'objet 2 requis:
    - Cout (en Qté) en points abyssaux (on peut considérer cela comme un type de monnaie)
    nous pouvons également avoir un Coût (en Qté) en kinahs (autre monnaie).

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
      <client_item_upgrade>                                                                
        <id>136</id>                                                                       
        <name>keyblade_d_a_em_65a_li</name>                                                
        <upgrade_list>                                                                     
          <data>                                                                           
            <upgrade_item>keyblade_d_a_m2_65a_hi</upgrade_item>                            
            <check_enchant_count>10</check_enchant_count>                                  
            <sub_material_item1>medal_05</sub_material_item1>                              
            <sub_material_item_count1>286</sub_material_item_count1>                       
            <sub_material_item2>up_mid_weapon_abyss_r2</sub_material_item2>                
            <sub_material_item_count2>1</sub_material_item_count2>                         
            <need_abyss_point>2748011</need_abyss_point>                                   
          </data>                                                                          
          <data>                                                                           
            <upgrade_item>keyblade_d_a_em_65e_li</upgrade_item>                            
            <check_enchant_count>10</check_enchant_count>                                  
            <sub_material_item1>medal_05</sub_material_item1>                              
            <sub_material_item_count1>286</sub_material_item_count1>                       
            <sub_material_item2>item_exp_extraction_65a</sub_material_item2>               
            <sub_material_item_count2>35</sub_material_item_count2>                        
            <need_abyss_point>2748012</need_abyss_point>                                   
          </data>                                                                          
        </upgrade_list>                                                                    
      </client_item_upgrade>

    4-2 - MCD associé
    Nom : upgrade_item.JPG
Affichages : 262
Taille : 29,8 Ko

    5 - fichier item_enchanttable.xml et MCD associé

    5-1 - Extrait du fichier XML

    Ici, nous allons voir l'enchantement d'un objet. Enchanter un objet consiste à lui faire gagner différents niveau de puissance afin d'augmenter ses statistiques. on pourra donc avoir une arme ou une armure +10 (sous entendu +10 niveau de puissance). Cet enchantement, permet de gagner différentes statistiques par niveau d'enchantement et par type d'item enchanté. C'est ce que stocke ce fichier.

    Pour chaque "item_enchant" (qui ne correspond pas a un item particulier mais plus à une catégorie d'item. De ce fait, on peut avoir plusieurs items concerné par le même "item_enchant") nous allons avoir l'id de l'item enchant ainsi que son nom. Ensuite nous avons une liste contenant à chaque fois le niveau d'enchantement et l'ensemble de stats associé à ce niveau d'enchantement.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
      <item_enchant>                                                             
        <id>17</id>                                                              
        <name>rb_torso</name>                                                    
        <enchant_attr_list>                                                      
          <data>                                                                 
            <level>1</level>                                                     
            <attr1>max_hp 14</attr1>                                             
            <attr2>physical_defend 3</attr2>                                     
            <attr3>Physical_Critical_Reduce_Rate 4</attr3>                       
            <attr4>magical_defend 3</attr4>                                      
          </data>                                                                
          <data>                                                                 
            <level>2</level>                                                     
            <attr1>max_hp 28</attr1>                                             
            <attr2>physical_defend 6</attr2>                                     
            <attr3>Physical_Critical_Reduce_Rate 8</attr3>                       
            <attr4>magical_defend 6</attr4>                                      
          </data>                                                                
          <data>                                                                 
            <level>3</level>                                                     
            <attr1>max_hp 42</attr1>                                             
            <attr2>physical_defend 9</attr2>                                     
            <attr3>Physical_Critical_Reduce_Rate 12</attr3>                      
            <attr4>magical_defend 9</attr4>                                      
          </data>                                                                
          <data>                                                                 
            <level>4</level>                                                     
            <attr1>max_hp 56</attr1>                                             
            <attr2>physical_defend 12</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 16</attr3>                      
            <attr4>magical_defend 12</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>5</level>                                                     
            <attr1>max_hp 70</attr1>                                             
            <attr2>physical_defend 15</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 20</attr3>                      
            <attr4>magical_defend 15</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>6</level>                                                     
            <attr1>max_hp 84</attr1>                                             
            <attr2>physical_defend 18</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 24</attr3>                      
            <attr4>magical_defend 18</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>7</level>                                                     
            <attr1>max_hp 98</attr1>                                             
            <attr2>physical_defend 21</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 28</attr3>                      
            <attr4>magical_defend 21</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>8</level>                                                     
            <attr1>max_hp 112</attr1>                                            
            <attr2>physical_defend 24</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 32</attr3>                      
            <attr4>magical_defend 24</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>9</level>                                                     
            <attr1>max_hp 126</attr1>                                            
            <attr2>physical_defend 27</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 36</attr3>                      
            <attr4>magical_defend 27</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>10</level>                                                    
            <attr1>max_hp 140</attr1>                                            
            <attr2>physical_defend 30</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 40</attr3>                      
            <attr4>magical_defend 30</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>11</level>                                                    
            <attr1>max_hp 154</attr1>                                            
            <attr2>physical_defend 33</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 44</attr3>                      
            <attr4>magical_defend 33</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>12</level>                                                    
            <attr1>max_hp 168</attr1>                                            
            <attr2>physical_defend 36</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 48</attr3>                      
            <attr4>magical_defend 36</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>13</level>                                                    
            <attr1>max_hp 182</attr1>                                            
            <attr2>physical_defend 39</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 52</attr3>                      
            <attr4>magical_defend 39</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>14</level>                                                    
            <attr1>max_hp 196</attr1>                                            
            <attr2>physical_defend 42</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 56</attr3>                      
            <attr4>magical_defend 42</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>15</level>                                                    
            <attr1>max_hp 210</attr1>                                            
            <attr2>physical_defend 45</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 60</attr3>                      
            <attr4>magical_defend 45</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>16</level>                                                    
            <attr1>max_hp 224</attr1>                                            
            <attr2>physical_defend 48</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 64</attr3>                      
            <attr4>magical_defend 48</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>17</level>                                                    
            <attr1>max_hp 238</attr1>                                            
            <attr2>physical_defend 51</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 68</attr3>                      
            <attr4>magical_defend 51</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>18</level>                                                    
            <attr1>max_hp 252</attr1>                                            
            <attr2>physical_defend 54</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 72</attr3>                      
            <attr4>magical_defend 54</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>19</level>                                                    
            <attr1>max_hp 266</attr1>                                            
            <attr2>physical_defend 57</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 76</attr3>                      
            <attr4>magical_defend 57</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>20</level>                                                    
            <attr1>max_hp 280</attr1>                                            
            <attr2>physical_defend 60</attr2>                                    
            <attr3>Physical_Critical_Reduce_Rate 80</attr3>                      
            <attr4>magical_defend 60</attr4>                                     
          </data>                                                                
          <data>                                                                 
            <level>21</level>                                                    
            <attr1>max_hp 14</attr1>                                             
            <attr2>physical_defend 3</attr2>                                     
            <attr3>Physical_Critical_Reduce_Rate 4</attr3>                       
            <attr4>magical_defend 3</attr4>                                      
          </data>                                                                
        </enchant_attr_list>                                                     
      </item_enchant>

    5-2 - MCD associé
    Nom : echanttable.JPG
Affichages : 264
Taille : 25,7 Ko

    6 - fichier item_authorizetable.xml et MCD associé

    6-1 - Extrait du fichier XML

    En restant toujours dans la même idée d'amélioration d'un item, il y a le principe de réévaluation (=authorize). Cela fonctionne exactement de la même manière que l'enchantement. Nous augmentons le niveau de puissance de l'objet pour accroître ses statistiques. Certains objets (les accessoires tel que collier, boucle d'oreille, ceinture) ne peuvent pas être enchantés, mais ils peuvent être réévalués. Voilà pourquoi il y a différenciation des 2.

    Tout comme l'enchantement, plusieurs objets peuvent être liés au même tableau de réévaluation. Pour chaque item_authorize nous aurons un id et un nom. Ensuite, nous aurons pour chaque level de réévaluation, l'ensemble des statistiques qui y seront débloquées.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <item_authorize>                                        
      <id>46</id>                                           
      <name>test_option_authorize03</name>                  
      <enchant_attr_list>                                   
        <data>                                              
          <level>1</level>                                  
          <attr1>PvPAttackRatio_Physical 100</attr1>        
          <attr2>PvPAttackRatio_Physical_O 20</attr2>       
          <attr3>PvPAttackRatio_Magical 20</attr3>          
          <attr4>PvPAttackRatio_Magical_O 30</attr4>        
        </data>                                             
        <data>                                              
          <level>2</level>                                  
          <attr1>PvPAttackRatio_Physical 20</attr1>         
          <attr2>PvPAttackRatio_Magical 25</attr2>          
          <attr3>PvPDefendRatio_Physical 30</attr3>         
          <attr4>PvPDefendRatio_Magical 35</attr4>          
        </data>                                             
        <data>                                              
          <level>3</level>                                  
          <attr1>PvPAttackRatio_Physical_O 50</attr1>       
          <attr2>PvPAttackRatio_Magical_O 60</attr2>        
          <attr3>PvPDefendRatio_Physical_O 70</attr3>       
          <attr4>PvPDefendRatio_Magical_O 80</attr4>        
        </data>                                             
        <data>                                              
          <level>4</level>                                  
          <attr1>max_hp 50</attr1>                          
          <attr2>Critical_Physical_O 70</attr2>             
          <attr3>critical_physical 20</attr3>               
          <attr4>magical_hit_accuracy 30</attr4>            
        </data>                                             
        <data>                                              
          <level>5</level>                                  
          <attr1>Magical_Skill_Boost_O 80</attr1>           
          <attr2>magical_skill_boost 160</attr2>            
          <attr3>max_hp 112</attr3>                         
          <attr4>max_hp_O 800</attr4>                       
        </data>                                             
        <data>                                              
          <level>6</level>                                  
          <attr1>block 100</attr1>                          
          <attr2>parry_O 90</attr2>                         
          <attr3>parry 100</attr3>                          
          <attr4>speed_O 9%</attr4>                         
        </data>                                             
        <data>                                              
          <level>7</level>                                  
          <attr1>Attack_Delay_O 9%</attr1>                  
          <attr2>attack_delay 200</attr2>                   
          <attr3>Physical_Critical_Reduce_Rate 20</attr3>   
          <attr4>Physical_Critical_Reduce_Rate_O 50</attr4> 
        </data>                                             
        <data>                                              
          <level>8</level>                                  
          <attr1>damage_magical 32</attr1>                  
          <attr2>damage_physical 16</attr2>                 
          <attr3>Damage_Physical_O 20</attr3>               
          <attr4>Damage_Magical_O 70</attr4>                
        </data>                                             
        <data>                                              
          <level>9</level>                                  
          <attr1>magical_hit_accuracy 20</attr1>            
          <attr2>Physical_Critical_Reduce_Rate 10</attr2>   
          <attr3>Snare_Arp_O 40</attr3>                     
          <attr4>PvPMagicalResist_O 50</attr4>              
        </data>                                             
        <data>                                              
          <level>10</level>                                 
          <attr1>ArParalyze_O 20</attr1>                    
          <attr2>PvPDefendRatio_Magical_O 103</attr2>       
          <attr3>parry 20</attr3>                           
          <attr4>Max_Fp_O 200</attr4>                       
        </data>                                             
      </enchant_attr_list>                                  
    </item_authorize>

    6-2 - MCD associé

    (désolé, mais limitation des pièces jointes oblige).


    Je vous ai fournis 6 MCD différents car il s'agit à chaque fois d'un fichier XML différents. Cependant, l'ensemble de ces MCD sont voués à être regroupés dans le même modèle pour ensuite créer ma base de données.
    Merci par avance pour toute l'aide que vous pourrez mapporter en espérant que je n'aurais pas fait de trop grosses erreurs.

    Merci par avance.
    cordialement,

    AutoDiDev

  2. #2
    Membre à l'essai
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Novembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Contrôleur de gestion

    Informations forums :
    Inscription : Novembre 2014
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Je vois que personne n'a répondu à mon message malgré les vues. Personnes n'a les compétences nécessaires pour répondre à mes questions ?

    Concernant le MCD pour le fichier item_upgrade, j'ai décidé de changer le MCD pour qu'il corresponde mieux à la façon dont le fichier XML rend les données. J'ai utilisé le principe de refléxivité, et au final je pense que c'est plutôt pas mal du tout.

    Nom : Capture.JPG
Affichages : 340
Taille : 25,1 Ko

    En espérant avoir des retours, sinon je continuerais comme ca meme si ce n'est pas une conceptualisation optimale de mes différents fichiers.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    Ce ne sont pas les compétences qui manquent mais peut-être le temps pour étudier la totalité de votre long sujet, ce qui décourage un peu les bénévoles que nous sommes.

    Dites-nous plutôt sur quel point précis vous avez des doutes ou des difficultés et vous aurez probablement plus de réponses.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [MCD] MCD ou schema de relation à partir d'un fichier XML
    Par AbdouPoulou dans le forum Schéma
    Réponses: 3
    Dernier message: 25/01/2010, 18h07
  2. Comment faire un MCD a partir .sql
    Par rafikindia dans le forum Débuter
    Réponses: 2
    Dernier message: 25/09/2008, 16h28
  3. Modelisation d'un MCD a partir d'une base de donnée
    Par jesuscrie dans le forum Oracle
    Réponses: 9
    Dernier message: 25/11/2006, 14h54
  4. Obtenir le MCD a partir d'une BDD Oracle, possible?
    Par dipajero dans le forum Designer
    Réponses: 7
    Dernier message: 06/01/2006, 20h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo