JeuWeb - Crée ton jeu par navigateur
Quels sont les avantages de la POO ? - 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 : Quels sont les avantages de la POO ? (/showthread.php?tid=4058)

Pages : 1 2 3


RE: Question - quels avantages pour la POO ? - F.A.B. - 08-06-2009

Ouais je m'en doute bien ^^
Mais il y a pas mal de chose qui devrait rester identique. Je ne pense pas utiliser la POO sur tout le jeux, mais uniquement sur certain points stratégique.

De toute façon je comptait quand même recommencer sur du neuf, pour avoir une bdd plus optimisé.


RE: Question - quels avantages pour la POO ? - My Hotel - 08-06-2009

Personnellement, je n'aime pas mixer POO et procédural, mais si tu t'y retrouve, c'est l'essentiel.
Sinon, beaucoup de choses devraient quand même changer, normalement tu n'as plus les même fonctions, car c'est une approche différente Wink

Sinon, bonne chance pour la BDD, je sais que personnellement c'est horrible pour moi à faire ça!


RE: Question - quels avantages pour la POO ? - tog84 - 08-06-2009

Bonjour,
Mon conseil de débutant en programmation : c'est de coder en POO !
Un des nombreux avantages pour moi, c'est la possibilité d'améliorer régulièrement mon code (et oui, on en apprend tous les jours), mes modifications sont devenues assez simple à mettre en oeuvre.
Après chacun fait comme il veut.
C'est juste un avis Big Grin
Bon courage.


RE: Question - quels avantages pour la POO ? - F.A.B. - 08-06-2009

(08-06-2009, 05:07 PM)My Hotel a écrit : Personnellement, je n'aime pas mixer POO et procédural, mais si tu t'y retrouve, c'est l'essentiel.
Sinon, beaucoup de choses devraient quand même changer, normalement tu n'as plus les même fonctions, car c'est une approche différente Wink

Sinon, bonne chance pour la BDD, je sais que personnellement c'est horrible pour moi à faire ça!
La logique que j'emploie pour réaliser mes fonctionnalités reste la même, donc la POO ne devrait pas trop changer cela. Une méthode reste une fonction associé a un objet...
Tu parle de la BDD associé a la POO ou simplement les relations entre tables ?
J'ai bouffé de la bdd pendant plusieurs mois cette année, sa ma pas posé de problème de faire un schéma qui me semble, a mon avis, bien optimisé pour mon jeu.

(08-06-2009, 05:27 PM)tog84 a écrit : Bonjour,
Mon conseil de débutant en programmation : c'est de coder en POO !
Un des nombreux avantages pour moi, c'est la possibilité d'améliorer régulièrement mon code (et oui, on en apprend tous les jours), mes modifications sont devenues assez simple à mettre en oeuvre.
Après chacun fait comme il veut.
C'est juste un avis Big Grin
Bon courage.
Quand on est débutant, généralement on évite de commencer par de la POO. Car c'est une notion assez complexe.


RE: Question - quels avantages pour la POO ? - tog84 - 08-06-2009

(08-06-2009, 06:03 PM)F.A.B. a écrit : Quand on est débutant, généralement on évite de commencer par de la POO. Car c'est une notion assez complexe.

Certes, je suis d'accord avec ce propos, mais je suis un homme de défis.
Et puis autant essayer de prendre de bonnes habitudes.


RE: Question - quels avantages pour la POO ? - F.A.B. - 08-06-2009

(08-06-2009, 06:55 PM)tog84 a écrit :
(08-06-2009, 06:03 PM)F.A.B. a écrit : Quand on est débutant, généralement on évite de commencer par de la POO. Car c'est une notion assez complexe.

Certes, je suis d'accord avec ce propos, mais je suis un homme de défis.
Et puis autant essayer de prendre de bonnes habitudes.

C'est tout a ton honneur ^^
C'est d'autant plus dur si on apprend sur internet, car faut trouver des cours super bien expliqué.
Quand on voit un truc comme sa, sa fait peur (ou rêver ?) :
http://g-rossolini.developpez.com/tutoriels/php/cours/


RE: Question - quels avantages pour la POO ? - tog84 - 08-06-2009

Personnellement, j'ai fait plusieurs tutos disponibles sur le net pour commencer à digérer un peu la POO.


RE: Question - quels avantages pour la POO ? - keke - 09-06-2009

(08-06-2009, 07:04 PM)F.A.B. a écrit : Quand on voit un truc comme sa, sa fait peur (ou rêver ?) :
http://g-rossolini.developpez.com/tutoriels/php/cours/

Hum, c'est en français, c'est bien structuré ... ça fait pas peur pour celui qui sait dans quoi il rentre. Qu'est-ce que 1 jour de lecture face a des mois de codage.

Je ne fais pas de POO en php car historiquement quand j'ai commencé le PHP, la POO n'était pas du tout performant. Maintenant, si j'avais un nouveau projet à réaliser, je m'y mettrais ^^

Kéké


RE: Question - quels avantages pour la POO ? - lcfseth - 09-06-2009

L'un des avantages les plus importants de la POO et que bizarement personne ne donne, c'est justement les objets.
Beaucoup de programmeurs POO font du procédurale sans réelement le savoir. Il crée un objet Héros, ensuite il gerent ces points de vie dans la classe GamePlay. Ce n'est absolument pas de la POO. C'est comme créer une simple structure en C.
La vrai force de la POO c'est que chaque entité peut gérer ses caractéristique de maniére transparente et indépendante.

Je sais pas si je m'exprime bien, mais je donne un exmeple :
(Une attaque) :
Procédurale :
Code :
Pour tout joueurs [color=#1E90FF]ja[/color] qui va attaquer
      pour tout joueurs [color]jd[/color] qui va subir
              jd.PV -= ja.DMG
              si (jd.PV <= 0) jd.Mort();
      finpour
finpour
POO
Code :
Pour tout joueurs [color=#1E90FF]ja[/color] qui va attaquer
      pour tout joueurs [color]jd[/color] qui va subir
              jd.subit (ja.Attaque())
      finpour
finpour

Classe jd
{
   subit ( int attaque)
    {
    this.PV -= attaque;
    }
     SetPv( int valeur)
    {
      this.pv = valeut;
      mort = ( pv <= 0)  ;
    }    
}

L'avantage est énorme :
  1. L'état de mort est géré automatiquement à chaque changement des PV
  2. Si on veut changer le systeme de combat ( pour ajouter de l'esquive par ex), on sait ou chercher, c'est logique. Avant fallait faire une recherche dans plusieurs milliers de codes du module gameplay
  3. Le code du moteur de jeu est simple à comprendre ( A attaque, B subit ), les details sont laissé pour les classes spécialié
  4. Changer l'objet joueur n'a aucune incidence directe sur le moteur du jeu.

Citation :Quand on est débutant, généralement on évite de commencer par de la POO. Car c'est une notion assez complexe.
Je trouve pas, mais alors la pas du tout. L'esrpit humain percoit le monde en POO.

La compléxité apparente de la POO vient de certaines notions qui sont il faut l'avouer assez difficile (Héritage multiples, Polymorphisme,Abstraction...)
Toutes ses notions facilite la vie mais ne sont en aucun cas necessaire pour la POO.

Ps: vous remarquerez que le code est plus long. C'est une illusion, le code efficace est en moyenne moindre qu'en Procédurale, mais y'a beaucoup de code structurale ( pour définir les classes, les propriétés...) il y'a plein de generateurs de code qui permettent de generer les structure des classes. Au final, on se retrouve avec une charge de travail moindre.
C'est aussi moins performant que du procédurale ( Si vous récuperez le code source de n'importe quel OS, vous verrez que c'est du procédurale pure. ) Mais pour nous autres codeurs des couche superieurs, cette baisse de performance n'est pas perceptible.



A oui, si vous souhaitez apprendre la POO, ne commencez pas avec du C++ ,Sa puissance est telle que vous serez submérgé par des notions que vous n'utiliserez jamais mais qui vous bloqueront énormément (qui a dit héritage multiple). Ne faite pas de Java non plus. C'est l'un des languages les plus tordus que je connaisse. Le PHP à l'origine n'est pas un langage objet.

Je vous coneille le VB.NET. Le VB est un language basé sur Basic qui à ce jour est le langage le plus proche de l'anglais courant. De plus c'est un language full objet. Vous n'aurez pas à vous préoccupé de notions de Boxing/Unboxing. Il ne gére que le monohéritage, la notions de propriété est géré et non simulé (C++, Java)...
Le C# fera l'affaire aussi, mais vous serez trahi par la ressemblance entre le C++ et le C#, si vous passez aprés au C++.


RE: Question - quels avantages pour la POO ? - christouphe - 09-06-2009

moi j'aurai plutôt fait:
Code PHP :
<?php 
class Joueur {

public function
attaque (Joueur _adverse) {
}
}

et à l'appel:

$ja = new Joueur();
$jd = new Joueur();

$ja.attaque($jd);