Scoreutils gerer les scores dans vos jeux

Soyez le premier à donner votre avis sur cette source.

Vue 2 717 fois - Téléchargée 256 fois

Description

ScoreUtils introduit deux classes :

TPlayerScore, contenant basiquement le nom (string) et le score (int64) d'un joueur

TPlayerScores, composant type Liste contenant tout les scores des joueurs. Les scores sont automatiquement triés du plus grand (index 0) au plus petit (index N) a l'ajout d'un ou plusieurs scores.
TPlayerScores permet egalement de lire ou sauver un fichier ".scores" de type INI (voir entête de ScoreUtils pour la structure).

Pour utiliser TPlayerScores nul besoin de declarer une variable et d'en creer une instance, utiliser les variables automatiquement créées a l'initialisation et detruite a la finalisation de l'unité.
Ces variables sont Scores et son alias PlayerScores.

Choix du Int64 comme sotckage du score :
int64 est un type assé simple pouvant contenir 2 integer, 4 word, 8 bytes, 1 double, 2 single.
de quoi satisfaire vos besoin, on peu imaginer des structures tel :

type
bits64rec = record
case integer of
0: (i64 : int64);
1: (i8 : array[0..7] of shortint);
2: (i16 : array[0..3] of smallint);
3: (i32 : array[0..1] of longint);

4: (ui64 : UInt64);
5: (ui8 : array[0..7] of byte);
6: (ui16 : array[0..3] of word);
7: (ui32 : array[0..1] of longword);

8: (fl64 : double);
9: (fl32 : array[0..1] of single);
end;

exemple :
data [[Niveau de difficulté 1][Level atteint 1][Temps en secondes 2][Score total 4]]

NiveauDeDifficulté := bits64rec(Scores.Items[N].PlayerScore).ui8[0];
LevelAtteint := bits64rec(Scores.Items[N].PlayerScore).ui8[1];
TempsEnSecondes := bits64rec(Scores.Items[N].PlayerScore).ui16[1];
ScoreTotal := bits64rec(Scores.Items[N].PlayerScore).ui32[1];

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Bacterius
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
5 -
Vraiment très bien fait f0xi, bravo, d'autant qu'on se prend souvent la tête dans un petit jeu pour gérer les scores. Je garde la source en favoris pour la lire plus en détail bientôt.

Cordialement, Bacterius !
diglas
Messages postés
66
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
3 mai 2010
-
ce qu'on attendais. fini les casses têtes!
Bravo et merci.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.