summaryrefslogtreecommitdiff
path: root/src/player.h
blob: 920cf4d8012ccaaf32693cc2bc00d80a0a7e8e3b (plain)
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
#ifndef OXEN_PLAYER_H
#define OXEN_PLAYER_H

#define MAX_PLAYERS 10
#define MAX_PLAYER_NAME_LENGTH 10

#include <stdint.h>
#include "card.h"

typedef uint8_t player_id_t;

typedef struct
{
	player_id_t player_id;
	char player_name[MAX_PLAYER_NAME_LENGTH + 1];
	card open_card;
	uint8_t score;
} player_list_entry_t;

typedef struct
{
	uint8_t count;
	player_list_entry_t players[MAX_PLAYERS];
} player_list_t;

player_list_entry_t *get_player_list_entry_by_player_id(player_list_t *pl, const player_id_t pid);
void player_list_sort_by_open_card(player_list_t *pl, const uint8_t num_entries);
void player_list_sort_by_score(player_list_t *pl, const uint8_t num_entries);

#endif // OXEN_PLAYER_H