voilà j'ai un soucis avec ma base de données. un ami qui m'a gentiment inséré des packs pour mes joueurs est passé par la BDD.
jusque là pas de soucis. mon soucis est de savoir comment en ajouter d'autres en sachant que les ressources que le joueur gagne est sous cette forme bizarre que je ne comprends ni ne connais à ce jour :
Cela correspond à la transformation d'un tableau en chaîne de caractères.
La syntaxe de sérialisation est : une lettre donnant le type, deux points, et selon le type, soit la valeur de l'élément (pour les entiers), soit un entier donnant la longueur de l'objet (pour les chaînes et les tableaux) suivi de deux points et de la valeur. Les tableaux étant encadrés par des accolades.
Avec l'exemple donné on peut comprendre :
C'est un tableau (a = array) contenant 3 éléments.
Le premier élément est composé d'une chaîne (s = string de 4 caractères) valant "bois" et d'un entier (i = integer) valant 10000.
Le deuxième élément est composé d'une chaîne (s = string de 6 caractères) valant "pierre" et d'un entier (i = integer) valant 10000.
Le premier élément est composé d'une chaîne (s = string de 5 caractères) valant "dacre" et d'un entier (i = integer) valant 10000.
a:3:{
s:4:"bois";i:10000;
s:6:"pierre";i:10000;
s:5:"dacre";i:10000;
}
qui pourrait être matérialisé en PHP comme :
[
"bois" => 10000,
"pierre" => 10000,
"dacre" => 10000
]
La sérialisation à ce format se fait souvent dans WordPress pour stocker un tableau en base et éviter de créer des tables de relation ... C'est une solution de fainéant
En PHP, tu peux facilement sérialiser avec la fonction serialize qui transforme un tableau (array) en chaîne, et désérialiser avec la fonction unserialize qui transforme une chaîne sérialisée en tableau.
ah ok je pige mieux à présent. solutions de fainéant ou juste plus pratique ?
j'en sais trop rien et j'avoue que je ne saurais pas comment organiser ça en BDD non plus
bon par contre une autre question :
je dois ajouter des troupes mais les troupes sont faites à partir de la population qui arrive chaque jour selon le nombre de maison qu'on a construit.
ensuite on les forme donc comment ajouter ce pack de troupes a mes joueurs ? dois-je effectuer une formation de troupes spécifiées ou simplement ajouter 20 de population et les former par le biais d'un script directement ?
pour mieux comprendre chaque habitant a un statut sur la même ligne donc en gros il ne se transforment pas vraiment en soldats... ils ont juste le status type soldat ou épéiste etc
Actuellement on doit faire venir de la population en augmentant le nombre de yourtes. 10 nouveau habitants par nbr de yourte nouvellement construite. Ensuite soient ils reste fermiers et sont alloués à la culture/récolte etc soit on en fait des soldats qu'on forme.
Il faut savoir aussi qu'il y a 4 tranches de population. Serfs, artisans, bourgeois et nobles avec 4 types d'infrastructures différentes pour les faire venir et des conditions de points de réputation etc
C'est assez complexe à l'heure actuelle.
Pour les serfs = yourtes
Pour les artisans = des chaumières
Pour les bourgeois = des villas
Pour les nobles = des villas de lux
Chacun consomment des quantités de ressources différentes et arrivent selon toutes les conditions. Et chacun peut devenir un soldat, un chevalier, un archer, un epeiste selon son rang etc. Y a beaucoup de troupes différentes 😉
Si l'on poursuit la logique précédemment proposée, il te faut deux tables de plus :
habitat ( id_habitat [pk], nom ) pour stocker les différents types d'habitat
habitat_ressource ( id_habitat [pk][fk], id_ressource [pk][fk], cout ) pour stocker le coût de l'habitat dans chaque ressource
propriete ( id_joueur [pk][fk], id_habitat [pk][fk], nombre ) pour stocker le nombre d'habitats possédés par un joueur
Après, il ne faut pas mélanger le stockage des données et les règles qui font évoluer ces données. C'est dans ton code applicatif que tu décideras quand ajouter de la population à un joueur et que tu agiras sur la base de données en conséquence ...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le CSS ça peut craindre -->Conférence CSS3.CREATE
Le CSS ça peut craindre -->Conférence CSS3.CREATE
Le CSS ça peut craindre -->Conférence CSS3.CREATE