IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

Jeux de rôle : quels types de variables pour coder des personnages ? [TPW]


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de maxiNoob
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 129
    Par défaut Jeux de rôle : quels types de variables pour coder des Personnages ?
    Bonjour à tous

    pour les amateurs de RPG ou JDR en Français

    comment coderiez vous les personnages (et donc les monstres) ?

    avec une variable enregistrement qui aurait l'avantage de contenir le nom, la race, la carriere, les caractéristiques, les objets, ...

    ou plutôt avec des variables séparées ?

    pour le bestiaire des monstres, même question, en sachant qu'il pourrait devenir important, genre plus de 50 monstres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Type FichePersonnage = record
         name : string[25];
         race : byte;
         carriere : byte;
         Level : byte;
         weapon1 : integer;
         weapon2 : integer;
         armor: integer;
         money : integer;
         objets : array[1..NbObjets] of string;
         villePerso : byte;
         pp : profilPrincipal;
         ps : profilSecondaire;
         end;
    merci de vos lumières

  2. #2
    Membre chevronné
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 475
    Par défaut
    Si tu en as la possibilité il serait AMHA préférable de définir un objet qui permettrait de définir les comportements de tes personnages en tant que méthodes. (Je n'ai jamais codé de jeu cela dit et je ne joue pas donc mon avis n'est peut-être pas pertinent dans ce domaine. Néanmoins avec le bout de code que tu nous montres cela me semble adapté.

    Si tu ne veux/peux pas coder des objets, il faut alors mettre tes variables dans un RECORD, éventuellement VARIANT.

    En ce qui concerne Turbo Pascal, cela ne me semble pas le compilo le plus adapté. Installe Free Pascal à la place, totalement compatible au niveau du code mais possédant des possibilités bien supérieures (multiplateforme, adapté au 32 bits, modèle objet performant, etc., etc.). La SDL est compatible avec Free Pascal, pas de souci.

  3. #3
    Membre confirmé Avatar de maxiNoob
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 129
    Par défaut
    hé merci pour un avis aussi rapide
    je dois vous préciser que je suis débutant, aussi programmer un objet n'est pas dans mes capacités, mais je ne demande qu'à apprendre
    j'utilise TPW pour participer à l'initiation de mon fils ( sa fac utilise TPW), mais sur vos conseils je préfère largement delphi 6 que je commence à sentir

  4. #4
    Membre chevronné
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 475
    Par défaut
    Bonsoir,

    Il existe quelques très bons tuto sur la POO sur Développez. Notamment Ici

    Je n'ai pas dit Delphi, quoique cela soit excellent (mais pas multiplateforme), mais Free Pascal (+Lazarus, clone de Delphi) le tout gratuit et open source, installable à l'infini, bien maintenu, en progrès constant, etc.

    Pour la Fac, TOUT ce qui peut-être fait en TPW peut aussi êter fait en Free Pascal (c'est entièrement compatible). On peut sans problème installer les deux compilateurs sur un PC sachant qu'ils sont tous les deux gratuits, comme ça on bénéfie de tous les avantages ;-)

    Freepascal et lazarus voir la rubrique compilateurs Développez : c'est là

  5. #5
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    A mon avis, plus la modélisation est complexe plus tu auras de mal à t'en sortir avec les records (et des procédures généralistes). En effet, le monde réel est composé d'entités (= objet informatique, ou classe selon les niveaux de langage), qui font des choses propres à elles-même. Par exemple, un four permet de faire cuire des aliments, une pelle de creuser un trou, une fourchette de manger, etc..... Pour représenter ça dans un monde informatique, la solution préférée est de définir des objets qui ont des propriétés propres (par exemple, pour une fourchette, le nombre de dents), et auxquels on ajoute des méthodes (= liste d'actions qu'il peuvent faire) (exemple: la méthode "cuire" pour un four).

    Enfin tout ça pour dire, que avec les record tu risques d'être assez limité rapidement et te perdre dans les déclarations de tes nombreuses procédures...

  6. #6
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Une façon de voir les choses simplement est de considérer les objets comme des records pouvant contenir des procédures et des fonctions pour qui les variables déclarées dans le records sont des variables globales.
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Type FichePersonnage = object
            private
             name : string[25];
             race : byte;
             carriere : byte;
             Level : byte;
             weapon1 : integer;
             weapon2 : integer;
             armor: integer;
             money : integer;
             objets : array[1..NbObjets] of string;
             villePerso : byte;
             pp : profilPrincipal;
             ps : profilSecondaire;
           public
            procedure setName(s : string);
            function getName() : string;
            {....}
         end;
    {definition des procedure et fonction de l'objet}
    procedure FichePersonnage.setName(s : string);
    begin
     name:=s;
    end;
     
    {...}
    les variables sont appelées des attributs ou les propriétes de l'objet; les fonctions et procedures sont les methodes de objet; c'est elles qui definissent les actions qu'execute l'objet.

  7. #7
    Membre confirmé Avatar de maxiNoob
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 129
    Par défaut
    merci de vos réponses

    si je comprend bien, je dois potasser la POO avant de m'amuser à ça ?

    aussi je vais le faire, je suis p-e un peu trop ambitieux pour mon niveau, mais l'idée de creuser ça me motive à apprendre, c'est déjà ça, et si je me rétame, au moins j'aurai appris

    même avec la migraine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 19
    Dernier message: 24/07/2012, 16h51
  2. [AC-2007] quel type de variable pour récupérer des objets de type Ole
    Par rominous41 dans le forum VBA Access
    Réponses: 2
    Dernier message: 25/05/2011, 16h59
  3. Quel type de variable pour 20 bits?
    Par The_72 dans le forum MATLAB
    Réponses: 1
    Dernier message: 23/04/2010, 12h08
  4. Quel type de variable pour enregistrer un temps ?
    Par trigone dans le forum Langage
    Réponses: 9
    Dernier message: 07/12/2008, 20h15
  5. Réponses: 2
    Dernier message: 05/02/2008, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo