Conseil utilisation de classe - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Conseil utilisation de classe (/showthread.php?tid=4287) |
Conseil utilisation de classe - R-transat - 23-08-2009 Bonsoir à tous, Pour tout début d'un projet il faut un commencement, et je commence doucement en réfléchissant aux classes. Donc je vous explique, lors de l'inscription d'un membre je vais lui laisser le choix de choisir ça "classe" (c'est-à-dire soldat, etc) avec une balise select. Donc je pense créer une classe Personnage ou il y aurai plusieurs aptitudes et selon la classe que le joueur aura choisi faire en sorte que certaines aptitudes soit plus élevé que d'autres, voici un exemple : Code PHP :
Pour ceux qui connaisse, il s'agit du jeu Killzone mais ça n'a pas d'importance ici. Donc voila mes questions : Est-ce mieux d'utiliser une classe pour chaque personnage ? Est-ce mieux d'utiliser une classe ou tout les personnages seront présent et faire les compétences (santé, etc) à part ? (comme sur le code plus haut). Et au niveau de la base de donnée, ça se passera comment ? (un champ pour la santé, précision, etc ... et avec la balise select j'inscris dans la base de donnée le type de personnage que c'est ?) Merci d'avance. Je me demande quelle est la meilleure solution pour la création du personnage. RE: Conseil utilisation de classe - guile - 23-08-2009 A ce que je vois, et pour partir à fond dans le truc, et même s'il n'est pas forcément recommandé de le faire, je peux t'inviter à faire une classe Personnage avec des attributs protected (et non pas private) et contenant les compétences globales à tous les types de personnages. Ensuite, tu dérives (class Helghast extends Personnage) cette classe en différentes classes spéciales pour helghast, isa, etc. qui auront les compétences spéciales. Commencer par de l'objet en programmation n'est des plus aisé, mais c'est très bien de démarrer un projet en objet. Ainsi il devient aisé par la suite de le faire évoluer. Les classes dérivées ne sont pas la chose la plus recommandées, mais ça t'apprendra des choses. Enfin, je ne suis pas sûr de mon analyse sur ton "bout" de code, mais je pense que tu devrais d'abord "écrire" ton système de jeu. Ca aide beaucoup quand il s'agit de concevoir un projet. RE: Conseil utilisation de classe - R-transat - 23-08-2009 Merci de ta réponse ^^ Je commence le projet en objet pour ne pas devoir le réécrire plus tard. Et je connais quand même le PHP de base. Quelle est la différence entre private et protected ? Donc pour résumer, la classe Personnage contiendra les variables des aptitudes et ensuite je crée une classe heghast et isa que j'hérite de la classe Personnage pour utiliser les aptitudes de ces type de personnages ? Je renomerai même la classe Personnage en Aptitudes pour plus de clarté ^^ Est ce que cela est juste : Code PHP :
Je voudrais en faite récupérer la futur variable POST de la balise select dans l'argument de creationPersonnage... pour justement créer le type de personnage que l'utilisateur aura choisi lors de l'inscription. RE: Conseil utilisation de classe - Argorate - 24-08-2009 Pourquoi ne tout simplement utiliser l'un des piliers de la POO? Tu fais de l'héritage. Une classe personnage avec chaque classe(soldat, commendo...) qui en découle? Ensuite pour private/protected, c'est justement en rapport avec l'héritage. private <=> accessible que depuis la classe protected <=> accessible que depuis la classe OU les classes qui héritent de celle-ci. RE: Conseil utilisation de classe - R-transat - 24-08-2009 J'ai essayé de faire quelque chose mais sans succès... J'ai une class : Code PHP :
et un fichier index.php Code PHP :
Mais si je met $perso->creationPersonnage(3); ou $perso->creationPersonnage('autre'); Ca m'affiche Vous êtes un 3 ou Vous êtes un autre... Comment régler pour que l'argument soit par rapport au tableau $type ? Quand tu dis "Une classe personnage avec chaque classe(soldat, commendo...) qui en découle?" Donc j'aurai : Code PHP :
Code PHP :
C'est bien ça ? RE: Conseil utilisation de classe - Argorate - 24-08-2009 Il ne faut pas mettre protected dans la classe-fille (en l'occurence: Helghast) Mais après c'est a toi de voir, ce que tes classes doivent permettre de faire. J'espère que tu n'as pas oublier les constructeurs?! et évidament la premiere instruction du constructeur de la classe-fille appel celui de a classe-mere!? PS: tu n'oublies pas non plus d'inclure la classe personnage de base? car je ne vois que: "require 'class/Helghast.class.php';"...? RE: Conseil utilisation de classe - R-transat - 24-08-2009 RE: Conseil utilisation de classe - Argorate - 24-08-2009 http://www.siteduzero.com/tutoriel-3-147180-poo-programmez-oo-en-php.html Une piste pour t'aider? tu m'excuseras, mais je ne peux pas te refaire tout le cours de POO^^ PS: pour le constructeur: http://www.siteduzero.com/tutoriel-3-147160-utiliser-la-classe.html#ss_part_3 EDIT: tu es sur d'avoir (ou d'inclure) ta classe Helghast dans Personnages.class.php? RE: Conseil utilisation de classe - R-transat - 24-08-2009 Bah tout est là (index.php) j'inclue les deux classes: require 'class/Personnages.class.php'; require 'class/Helghast.class.php'; J'ai déjà été voir sur le site du zéro, et sur ce forum un admin m'a dit qu'il y a des habitudes à ne pas prendre. RE: Conseil utilisation de classe - Sephi-Chan - 24-08-2009 Un exemple avant de partir bosser. Je te conseille l'anglais pour faciliter le nommage.
|