Project

General

Profile

Statistics
| Revision:

root / proj / include / scoreboards.h @ 353

History | View | Annotate | Download (1.38 KB)

1
#ifndef SCOREBOARD_H_INCLUDED
2
#define SCOREBOARD_H_INCLUDED
3

    
4
/**
5
 * @defgroup scoreboards scoreboards
6
 * @brief Scoreboards module.
7
 *
8
 * @{
9
 */
10

    
11
#include "libs.h"
12
#include <stdint.h>
13

    
14
/**
15
 * @brief Score.
16
 */
17
typedef struct  score_info score_info_t;
18

    
19
/**
20
 * @brief Table of highscores.
21
 */
22
typedef struct highscores highscores_t;
23
/**
24
 * @brief Construct score.
25
 * @param   score           Game score.
26
 * @param   time_played     Time elapsed on game.
27
 * @return      Pointer to constructed score, or NULL if failed.
28
 */
29
score_info_t* (score_ctor)(int score, int time_played);
30

    
31
/**
32
 * @brief Destruct score.
33
 * @param   p   Pointer to score to destruct
34
 */
35
void (score_dtor)(score_info_t *p);
36

    
37
/**
38
 * @brief Construct highscores.
39
 * @param   fnt     Font to use when rendering highscores text
40
 * @param   path    Path to file to be read with highscores values.
41
 * @return      Pointer to constructed highscores, or NULL if failed.
42
 */
43
highscores_t* (highscores_ctor)(const font_t *fnt, const char *path);
44
/**
45
 * @brief Save highscore into file.
46
 * @param f     Path to file to be written
47
 */
48
void (highscores_save)(const highscores_t *p, const char *path);
49
/**
50
 * @brief Destruct menu.
51
 * @param   p   Pointer to menu to destruct
52
 */
53
void (highscores_dtor)(highscores_t *p);
54

    
55
/**
56
 * @}
57
 */
58

    
59

    
60
#endif /* end of include guard: SCOREBOARD_H_INCLUDED */