Création de jeux avec Game Maker
Files d'attente (Queues)
Une file d'attente est pratiquement similaire à une pile de données mais fonctionne selon le principe FIFO (First-In First-Out : Premier Entré Premier Sorti). La valeur insérée en premier lieu dans la file d'attente sera donc la première à y être enlevée. Cela correspond au fonctionnement d'une file d'attente dans un magasin. La première personne de la file sera servie en premier. Les files d'attente sont généralement utilisées pour mémoriser des choses restant à faire mais il existe bien d'autres usages possible. Les fonctions suivantes existent (veuillez noter que les cinq premières sont équivalentes aux fonctions des piles de données : toutes les structures de données présentent d'ailleurs ces cinq fonctions).
ds_queue_create() Crée une nouvelle file d'attente. La fonction retourne un entier représentant l'ID de la file d'attente et devant être utilisé par toutes fonctions devant manipuler cette file. Plusieurs files d'attente peuvent être créées.
ds_queue_destroy(id) Détruit la file d'attente d'ID id, libérant ainsi la mémoire utilisée. Ne pas oublier d'invoquer cette fonction lorsque vous aurez terminé de travailler avec la file.
ds_queue_clear(id) Efface le contenu de la file d'attente d'ID id, supprimant ainsi toutes les données qu'elle contient mais ne détruit pas la file.
ds_queue_size(id) Retourne le nombre de valeurs que contient la file d'attente.
ds_queue_empty(id) Indique si la file d'attente est vide. Cela revient à tester si sa taille est égale à 0.
ds_queue_enqueue(id, val) Insére la valeur val en fin de la file d'attente d'ID id.
ds_queue_dequeue(id) Retourne la valeur la plus ancienne de la file d'attente (= la première valeur de la file) puis la supprime de cette dernière.
ds_queue_head(id) Retourne la valeur en début de file d'attente, c'est à dire la valeur la plus ancienne mais ne la supprime pas de la file.
ds_queue_tail(id) Retourne la valeur en fin de file d'attente, c'est à dire la valeur la plus récente mais ne la supprime pas de la file.
<< Traduction française par Philippe Ragni - (2005) >>
Alternative versions
You can also read this manual on one single long page (± 1.5 mb)
Also available in:
Download helpfile
Also available in:
Download helpfile