Page 1 sur 2

Au sujet d'un jeu php

Posté : 07 oct. 2007, 13:21
par Evoy
Bonjour!

Je suis débutant en php, et j'ai beaucoup d'ambition.
Je désire créer un jeu type RPG, sans aucun graphique.
Présentement, j'ai créé l'espace ou le client créé son personnage, sélectionne le personnage (exemple : mage) et tous ça est sauvé dans ma base de donné.

Donc voici mon problème : chaque personne une fois logguée est redirigée vers personnage.php et je me demandais comment faire pour que chaque personnage vois son personnage d'afficher, car la seul chose qui est unique comme champ, c'est le nom de la personne!

J'aimerais avoir de l'aide pas un code:) car je désire le coder, c'est en codant qu'on apprend!! Merci d'avance:)

Evoy

Posté : 07 oct. 2007, 16:51
par momox
Pour commencer, si tu pouvais aérer et reformuler ton message, ce serait très sympatique :)
Merci d'avance ;)

Posté : 07 oct. 2007, 17:01
par iclo
Un nom n'est pas suffisant comme seul champ unique, il faudrait ajouter un champ numérique auto-incrémenté, avec le quel on pourra être vraiment sûr qu'il n'y a pas de doublons.

Ensuite si tu mémorise la valeur pour le visiteur lorsqu'il s'identifie, tu ne devrais avoir aucune difficulté à récupérer et à afficher des infos concernant le personnage.

Ps: Momox, il est invité, il ne pourra donc pas éditer son message, il vaut mieux laisser les modérateurs se charge de ce problème...

Posté : 07 oct. 2007, 18:54
par zeus
Modération :
Message remis en forme.

Posté : 07 oct. 2007, 19:38
par AB
Si le personnage est une image tu peux mettre l'adresse de l'image dans un champ de ta bdd par exemple.
Ensuite tu peux récupérer cette valeur et la passer dans une variable de session.

Posté : 07 oct. 2007, 19:54
par momox
Autant pour moi.
Pour faire ce que tu souhaites, tu peux lier ta table des utilisateurs avec celle des personnages en utilisant un identifiant numérique commun aux deux tables.
Pour ce faire, il faut que dans ta table members tu ais deux champs, a savoir, pour exemple, id et pseudo.
Ensuite, dans ta table personnage, tu auras un champ user_id qui contiendra l'id du membre auquel le personnage appartient.
Donc, quand tu voudras afficher les personnages du membre, il te suffira de selectionner tous les personnages dont l'id correspond a l'utilisateur courant ;)

Posté : 07 oct. 2007, 21:37
par Evoy
Bonjour, tout d'abord je tien a m'excuser pour mes phrases mal formulés, j'étais tres pressé ce matin;) , Alors j'ai suivi le conseil de Iclo , c'est a dire que j'ai cree un champ ID qui est a auto-incrementdans la table RPG, mais mon probleme est que jai 2 tables soit une table qui se nomme User, et une autre nommé RPG , la table User sert pour l'identification a l'espace membres, et la table RPG contient le nom des personnages ainsi que leur informations de personnage(force, stamina, dexterité...) Alors, comment faire pour que selon la session ouvert, il affiche les information d'un autre table qui a aucune table en commun?

PS: J'ai pensé ajouter un champ dans la table RPG nommé user, qui aurait en sauvegarde quels membres a cree chaque personnage de cette facon, dans la table rpg, se trouverais l'id du membres. Est ce que cette methode serait efficace? Merci d'avance.!

Posté : 07 oct. 2007, 21:53
par momox
Dans ce cas la, il faut tourner sur trois tables.
Une table personnages qui contient tous les personnages disponibles dans ton jeu, une table users qui contient les infos des membres et une derniere table users_personnages qui contient deux champ user_id et personnage_id.
Pour lier un personnage a un utilisateur, tu n'auras qu'a inserer un enregistrement dans users_personnages avec l'id de l'utilisateur courant et l'id du personnage choisi ;)
Comme ca, avec une requete contenant une jointure, tu pourras retrouver aisément les personnages de l'utilisateur courant :)
@+

Posté : 08 oct. 2007, 01:13
par iclo
Momox : tout dépend si un utilisateur peut avoir plusieurs personnages, si c'est le cas, une table intermédaire est nécessaire comme tu le préconise.
Si un joueur ne peut avoir qu'un seul personnages, alors il suffit d'avoir une clé étrangère dans la table des utilisateurs, qui pointera vers un enregistrement de la table personnage.

Bref, on a besoin d'avoir plus d'infos sur le problème, pour pouvoir proposer une solution cohérente... ;)

Posté : 08 oct. 2007, 01:45
par Evoy
Bonsoir!! donc, effectivement les utilisateurs vont pouvoir se cree plusieurs personnages. Je vais faire un bref resumé de ma position. Lorsque une personne vien sur mon site, elle a la chance de s'inscrire comme membre. Par la suite , une fois loggué dans leur session de membres(qui est sauvé dans une table nommé membres) , il a un lien qui leur permet de cree un personnage ensuite par le biais d'un formulaire ils peuvent choisir entre 3 type de personnage . Le tout est sauvegarder dans une autre table nommé RPG. Dans cette table , il ya 2 champs importants soit le champ id qui est a auto-increment ainsi que celui ou est sauvé leur nom de personnage. Maintenant, je voudrais faire un script en sorte que lorsque un membre se connect, mon script regarde si ce membre a un personnage d'enregistrer dans la tables RPG et si c'est le cas, qu'il affiche les informatons de celui-ci.
Merci encore de votre aide, en esperant vous avoir eclarci sur ma situation Evoy

Posté : 08 oct. 2007, 09:32
par iclo
Donc il te faut 3 tables, comme déja préconisé par momox.

Bonne continuation.

Posté : 08 oct. 2007, 09:41
par Tracker
Moi je comprends pas trop, si vous utilisez trois tables, un personnage pourra être utilisé par plusieurs utilisateurs... Apparement Evoy n'a besoin que d'une relation 1-N entre User et RPG, donc deux tables..

User (ID)
RPG (ID, User_ID) avec User_ID FK User (ID)

Non ?

Posté : 08 oct. 2007, 11:09
par iclo
j'ai compris que les personnages étaient prédéfinis, et que l'utilisateur choisissait un personnage, donc oui, un personnage semble pouvoir avoir plusieurs utilisateur (cardinalité m-n)

Posté : 08 oct. 2007, 11:32
par Tracker
j'ai compris que les personnages étaient prédéfinis, et que l'utilisateur choisissait un personnage, donc oui, un personnage semble pouvoir avoir plusieurs utilisateur (cardinalité m-n)
Par la suite , une fois loggué dans leur session de membres(qui est sauvé dans une table nommé membres) , il a un lien qui leur permet de cree un personnage ensuite par le biais d'un formulaire ils peuvent choisir entre 3 type de personnage .
C'est pas une cardinalité m-n, il faut faire attention aux termes:
- User : utilisateur
- Personnage : Personnage créé par l'utilisateur (donc possédant les caractéristiques qui lui sont propres, car la mana, la santé, etc... évoluent au cour du jeu.
- TypeDePerso : Eléments de choix lors de la création du perso, caractéristiques: valeur initiales des données du perso. (Il n'y a pas forcement d'intérêt à définir une table pour lui)

Donc on arrive à:
User (ID)
Personnage (ID, User_ID, Type_ID ??)
?? PersoType (ID)

C'est au mieux deux relation 1-N, si on considère la pertinence de PersoType.

Posté : 08 oct. 2007, 12:48
par iclo
Bonsoir!! donc, effectivement les utilisateurs vont pouvoir se cree plusieurs personnages.
Tracker: si on considère que ce qu'Evoy a voulu dire c'est qu'un utilisateur peut avoir plusieurs personnages en même temps, on a bien un lien entre une m-n et dans ce cas une table intermédiaire est nécessaire pour faire la liaison entre les deux tables principales.

Bref, c'est un point à clarifier...