-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchoose_amino_acids_menu.h
44 lines (33 loc) · 1.25 KB
/
choose_amino_acids_menu.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
#ifndef CHOOSE_AMINO_ACIDS_MENU_H
#define CHOOSE_AMINO_ACIDS_MENU_H
#include <vector>
#include "amino_acid.h"
/// Menu in which the amino acids are chosen.
/// The number of amino acids
/// cannot be changed in this menu
class choose_amino_acids_menu
{
public:
/// The initial amino acids. The number of amino acids
/// cannot be changed in this menu
/// @param play_music do play music when the menu is displayed
choose_amino_acids_menu(
const std::vector<amino_acid>& initial_amino_acids);
/// Player with index 'player_index' chooses the next amino acid
/// Will throw if that player does not exist
void choose_next(const int player_index);
/// Player with index 'player_index' chooses the next amino acid
/// Will throw if that player does not exist
void choose_previous(const int player_index);
bool play_music() const noexcept { return m_play_music; }
///The amino acids now
const auto& get_amino_acids() const noexcept { return m_amino_acids; }
private:
/// The amino acids that are currently chosen by the players
std::vector<amino_acid> m_amino_acids;
/// Play the Amino Acid Fighter tune?
bool m_play_music;
};
///Create a testing menu
choose_amino_acids_menu create_test_menu_1();
#endif // CHOOSE_AMINO_ACIDS_MENU_H