Je viens vers vous car je bloque sur un petit truc à l'apparence un peu simple, mais dont j'ai un peu de mal à trouver solution !
Voilà, dans un jeu, j'aimerai classer en temps réel plusieurs compteurs (au nombre de 4) qui représente le score des joueurs.
Sauf que autant entre deux valeurs, ça va c'est assez simple, mais comparer plus de quatre valeurs et déterminer qui est le plus élevé et les trier selon leur valeur du plus élevé au moins élevé, j'ai un peu de mal à trouver !
Alors j'ai un peu de mal à le faire fonctionner en "temps réel", ça marche quand je le met par exemple "En début de scène", mais après ça m'affiche pas si les compteurs se réactualise par la suite !
Coucou C'est que tu n'as pas compris le code, essaye d'abord de le comprendre ;) En effet si une des valeurs change et qu'elle est inférieure a 500 ( patrice distribue des valeurs de 0 a 500 ) il faut relancer le tri
L’exemple donné par Patrice marche bien pour des scores peu élevées. Pour les gros scores ça ferait une trop grande boucle.
L’exemple de Xenon c’est un peu le contraire. c’est bien pour de gros scores, mais risque de s’embrouiller si il y en a beaucoup (bon ça marchera pas moins bien mais si t’as 100 joueurs ça fait une expression avec pas mal de fonctions max() lis une dans les autres).
C’est un peu cette méthode qui m’est venue en faisant la cuisine 😅 Comme c’est à peu près la même, c’est peut être pas utile que je fasse mon exemple. Sauf si on me le demande.
J'ai remarqué que c'est trié à l'envers, c'est vrai que pour les tableaux de scores, le plus élevé est en haut normalement. Il suffit de trier les compteurs sur la scène dans l'autre sens. En plus il y a un bug en cas de score identique entre plusieurs joueurs.
De toute façon, pour seulement 4 scores, c'est pas rentable de faire des boucles. Voilà comment moi je procéderais sans boucle, en 2 lignes. On peut le faire en une ligne, mais j'ai la flemme d'écrie la formule pour les compteurs 2 et 3 ;D Si quelqu'un veut le faire.
Bon, en soit ça à l’air ridicule, et ça l’est probablement. Mais écrire un fichier scores alors qu’on en à pas besoin, ça me gêne. Et en fait il y à une parade (deux, même. Bien que dans de très rares cas l’une ne sera efficace).
La solution basique est de donner un nom de fichier dans un lecteur qui n’existe pas. Par exemple Z:\fichier.truc. Bon, si le joueur a un lecteur Z: ça ne marche pas.
L’autre solution est d’avoir un fichier.truc (qui peut être n’importe quoi) en lecture seule qui accompagne le jeu. Et en début de scène, fixez le fichier courant du hi-score vers ce fichier. Par exemple Apppath$ + "fichier.truc".
Ces deux méthodes marchent bien pour Windows, je ne sais pas du tout comment faire sur d’autres supports.
Ce n'est pas si dramatique d'écrire un pauvre fichier ini de score. Et si vraiment tu ne veux aucun fichier, il suffit simplement de forcer un nom de fichier avec un caractère interdit. Par exemple ?.ini Et là tu peux me croire, aucun fichier ne sera créé sur le disque.