[i7] Table des personnages

Bonjour à tous !

Je suis actuellement en train d’essayer de faire un genre de système qui devrait à terme me faciliter la vie pour l’écriture de ma fiction mais j’ai quelques difficultés dans la compréhension du fonctionnement des tableaux pour implémenter des personnages…

En fait, je voudrais faire un tableau qui listerait tous les personnages d’une région, un village par exemple. Je voudrais que ce tableau puisse créer les personnages, qu’il puisse référencer leur location, et qu’il puisse aussi référencer leurs attributs…

Si donc quelqu’un a la solution miracle à ce problème… :smiley:

Pour créer des objets avec un tableau, c’est assez facile :

[code]La cuisine est un endroit.

Table of Personnages
person description âge
Alice « C’est Alice. » 24
Bob « C’est Bob. » 18
un chat « Miaou. » 3

Some people in la cuisine are defined by the Table of Personnages.[/code]
Chaque colonne après la première indique la propriété des objets (dans l’exemple, tous les personnages auront directement un âge). Il vaudra par contre mieux utiliser des tableaux différents pour les hommes, les femmes et les animaux (parce que dans l’exemple ils sont tous du type général « personne »).

(voir la section 16.16. pour plus d’infos.)

Malheureusement, ça ne doit pas être possible avec cette technique de définir des endroits de départ différents avec un même tableau. Il faudra un tableau par endroit. :frowning:

Ou sinon, tu ajoutes une colonne « initial location » et tu ajoutes une règle « when play begins » qui parcourt tous les persos et qui les déplacent dans leur initial location. S’il y a beaucoup de personnages, ça ralentira le jeu au début.

Hum oui c’est bien ce qu’il me faut !

J’ai donc essayé ce que tu me conseil mais ça ne semble pas bien fonctionner : (j’ai juste fait un petit bout de code pour tester mais je n’arrive pas à voir comment faire mieux pour l’instant)

[code]
piece1 is a room.
piece2 is a room.
piece3 is a room.

some people in piece 1 are defined by table of personnages.

Table of personnages
Person initial location
Joueur1 piece1
Joueur2 piece2
Joueur3 piece3

when play begins:
repeat with N running from 1 to the number of rows in Table of personnages;
move person in row N of table of personnages to initial location in row N of table of personnages.[/code]

Ta boucle repeat est mal construite. Il faut soit utiliser un point-virgule et écrire « begin » au début et « end repeat » à la fin, soit utiliser un deux-points et indenter le code qui suit. Cette dernière syntaxe (avec le deux-points) est celle recommandée par le manuel.

Dans tous les cas, il vaut mieux parcourir directement le tableau (section 16.6.) :

When play begins: repeat through Table of Personnages: now the person entry is in the initial location entry.
Ou sinon on peut parcourir tous les personnages du jeu (moins efficace car ça parcourera aussi ceux qui n’ont pas besoin d’être déplacés) :

When play begins: repeat with P running through people: if the initial location of P is a room, now P is in the initial location of P.

Enfin, tu n’est pas obligé d’écrire « in piece1 » dans le « some people are defined », étant donné que tu vas les déplacer de toute façon.