-
Notifications
You must be signed in to change notification settings - Fork 0
/
gamedata.h
47 lines (39 loc) · 1.6 KB
/
gamedata.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Nama Program : gamedata.h
// Deskripsi : Header file untuk pengelolaan data permainan,
// mendefinisikan struktur GameData dan fungsi-fungsi untuk menyimpan,
// memuat, dan menghapus data permainan.
// Pembuat : Ikhsan Satriadi (241511080)
// Rizky Satria Gunawan (241511089)
#ifndef GAMEDATA_H
#define GAMEDATA_H
#include "score.h"
#include "settings.h"
#define MAX_LEADERBOARD_SIZE 10
/// struct untuk menyimpan data permainan
typedef struct
{
Score hi_score; // Data skor tertinggi
Score leaderboard[MAX_LEADERBOARD_SIZE]; // Data leaderboard permainan
Settings settings; // Data pengaturan
} GameData;
/**
* Prosedur untuk menyimpan data permainan ke file biner
* @param filename parameter input passing by value, tipe const char*
* nama file untuk menyimpan datanya
* @param game_data parameter input passing by reference, tipe GameData*
* menunjuk ke objek GameData yang akan disimpan
*/
void save_game_data(const char *filename, GameData *game_data);
/**
* Fungsi untuk memuat data permainan dari file biner
* @param filename parameter input passing by value, tipe const char*
* nama file untuk dimuat datanya
* @return GameData dari file atau GameData dengan nilai default
*/
GameData load_game_data(const char *filename);
/**
*! Prosedur untuk menghapus data permainan (belum dipakai)
* @param filename parameter input passing by value, tipe const char*, nama file untuk dihapus
*/
void delete_game_data(const char *filename);
#endif // GAMEDATA_H