Pursuit - Implement A Pursuit Mechanism

by ADMIN 40 views

Introduction

Dans ce mécanisme de poursuite, nous allons créer un système qui permet à plusieurs personnages de chasser un autre personnage sur une carte. Ce système sera composé de plusieurs éléments, notamment un token de poursuite, une liste de participants à la poursuite et une fenêtre de gestion de la poursuite.

Token de Poursuite

Chaque poursuite possède un token spécifique qui permet de gérer plusieurs poursuites sur une même carte. Ce token a pour propriétés :

  • pursuitList : une liste des participants à la poursuite, réordonnés par rapport à leur abscisse currX.
  • pursuitLog : un journal des événements de la poursuite.

PursuitList

La pursuitList est une structure similaire à l'initiativeList, mais elle gère les membres de la poursuite. Les participants sont réordonnés par rapport à leur abscisse currX.

JSON structure :

{
  "mr": le MR en cours,
  "desc": description de la poursuite,
  "tokens": un tableau ordonné (JSON Array) des tokens (JSON Object) qui participent à la poursuite.
}

JSON structure pour chaque token :

{
  "tokenID": l'id du token,
  "startX": sa position ou moment il rejoint la poursuite pour la première fois,
  "prevX": sa position lors du MR précédent,
  "currX": sa position dans le MR en cours (après avoir effectué son sprint)
}

Exemple

Sur la carte Main_AE, nous avons les participants suivants :

  • TST_THUG1 : tokenId : 457D6AE642AC4C2386067D1B4729204C
  • TST_ShadowLizard1 : tokenId : B2C6803A77C04871A989E38CAF377DDE
  • TST_WARRIOR1 : tokenId : 050FF7DD7FEE4D1994AD53D44589AA52
  • TST_WIZARD1_PJ : tokenId : D1DDA762D82144C6845C4AEEDDBBEDB7

La course commence avec TST_THUG1, TST_ShadowLizard1 & TST_WARRIOR1, tandis que TST_WIZARD1_PJ est le chasseur.

{
  "mr": 1,
  "desc": "TST_WARRIOR1 & TST_WIZARD1_PJ chassent TST_THUG1 & TST_ShadowLizard1 ",
  "tokens": [
    {
      "startX": "4",
      "prevX": "4",
      "currX": "",
      "tokenId": "457D6AE642AC4C2386067D1B4729204C"
    },
    {
      "startX": "4",
      "prevX": "4",
      "currX": "",
      "tokenId": "B2C6803A77C04871A989E38CAF377DDE"
    },
    {
      "startX": "0",
      "prevX": "0",
      "X": "",
      "tokenId": "050FF7DD7FEE4D1994AD53D44589AA52"
    }
  ]
}

PursuitView

La fenêtre de gestion de la poursuite permet :

  • d'ajouter / retirer des token dans la poursuite (avec définition du startX / currX / prevX)
  • d'initialiser une poursuite (remet à jour le startX)
  • d'afficher le MR courant par rapport au début de la course
  • d'effectuer une action de SPRINT dans le MR courant (si elle n'est pas encore réalisée)
  • de passer au MR suivant, ce qui a pour effet de recalculer les positions de chacun.

Conclusion

Le mécanisme de poursuite est un système complexe qui nécessite une gestion précise des participants, des positions et des événements. La pursuitList et la pursuitView sont les éléments clés de ce système, permettant de gérer les participants et les événements de la poursuite.

Introduction

Dans ce mécanisme de poursuite, nous avons abordé les éléments clés de la poursuite, notamment le token de poursuite, la liste de participants à la poursuite et la fenêtre de gestion de la poursuite. Dans ce Q&A, nous allons répondre à certaines questions fréquentes liées à ce mécanisme.

Q1 : Qu'est-ce que le token de poursuite ?

R1 : Le token de poursuite est un élément unique qui permet de gérer plusieurs poursuites sur une même carte. Il contient les informations nécessaires pour gérer les participants à la poursuite, notamment leur position et leur état.

Q2 : Comment fonctionne la liste de participants à la poursuite ?

R2 : La liste de participants à la poursuite est une structure similaire à l'initiativeList, mais elle gère les membres de la poursuite. Les participants sont réordonnés par rapport à leur abscisse currX.

Q3 : Qu'est-ce que la fenêtre de gestion de la poursuite ?

R3 : La fenêtre de gestion de la poursuite est un élément qui permet de gérer les participants à la poursuite, notamment d'ajouter ou de retirer des participants, d'initialiser une poursuite et d'afficher le MR courant.

Q4 : Comment fonctionne l'action de SPRINT dans le MR courant ?

R4 : L'action de SPRINT dans le MR courant permet de recalculer les positions de chacun des participants à la poursuite. Cela a pour effet de mettre à jour les positions des participants et de permettre de passer au MR suivant.

Q5 : Qu'est-ce que le MR suivant ?

R5 : Le MR suivant est le prochain étape de la poursuite. Lorsque l'on passe au MR suivant, les positions des participants sont recalculées et les événements de la poursuite sont mis à jour.

Q6 : Comment gérer plusieurs poursuites sur une même carte ?

R6 : Pour gérer plusieurs poursuites sur une même carte, il faut utiliser un token de poursuite unique pour chaque poursuite. Cela permet de gérer les participants et les événements de chaque poursuite de manière indépendante.

Q7 : Qu'est-ce que la poursuiteLog ?

R7 : La poursuiteLog est un journal des événements de la poursuite. Il permet de suivre les événements de la poursuite et de mettre à jour les informations nécessaires pour gérer la poursuite.

Conclusion

Le mécanisme de poursuite est un système complexe qui nécessite une gestion précise des participants, des positions et des événements. Les réponses à ces questions fréquentes devraient aider à comprendre les éléments clés de ce mécanisme et à gérer les poursuites de manière efficace.