Page 1 sur 1

Générateur de personnage

Posté : 26 avr. 2019, 19:33
par Zyrgator
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.

Re: Générateur de personnage

Posté : 27 avr. 2019, 00:30
par Zyrgator
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?

Re: Générateur de personnage

Posté : 03 mai 2019, 15:13
par Saian
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)];