Générateur de personnage

Petit nouveau ! | 6 Messages

26 avr. 2019, 19:33

Bonsoir à tous,

Je débute sous symfony, mon nouveau petit projet pour m'améliorer me pose problème. Je souhaite créer un générateur de personnage.

L'idée c'est que l'utilisateur détermine le sexe du personnage autres critères en plus et qu'ensuite je lui renvoie une fiche personnage détaillée avec un prénom nom cheveux long, brun, yeux vert etc...

J'ai du mal à déterminer comment je gère cela en base de donnée et comment je fais un appel aléatoire en bdd également.

Si vous avez des suggestions pour m'indiquer la marche à suivre, ce serait cool.

Merci à vous.

Petit nouveau ! | 6 Messages

27 avr. 2019, 00:30

Je sais pas si je dois par exemple faire une table par caractéristiques genre une table prénoms puis un autre noms dans lesquelles j'ajoute des prénoms etc et ensuite je les récupère en random si?

Avatar du membre
Mammouth du PHP | 1609 Messages

03 mai 2019, 15:13

Salut, une idée comme ça, parce que ça pourrait vraiment être fait de façons diverses et variées.
Pour éviter de multiplier le nombre de tables, une table "trait" avec 2 colonnes "type" et "value".
Dans type tu stockes par exemple gender, eye_color, hair, hair_color, etc, en fait autant de type que tu as de "caractéristiques" et dans la colonne value tu mets une des valeurs possibles. Tu ajoutes autant de lignes que nécessaire.
Pour choisir aléatoirement 1 valeur pour une caractéristique tu peux faire (avec doctrine) un findBy(array('type' => 'eye_color')).
Ensuite tu peux utiliser la fonction rand() pour choisir aléatoirement un des éléments retournés :
$eyeColors = $this->getDoctrine()->getRepository(Trait::class)->findBy(array('type' => Trait::TYPE_EYE_COLOR));
$eyeColor = $eyeColors[rand(0, count($eyeColors) - 1)];
Développeur web depuis + de 20 ans