mirror of
https://github.com/jorenchik/testing-spring-2024.git
synced 2025-10-21 20:10:36 +00:00
feat: function related structs
This commit is contained in:
parent
b0a3a4dbb7
commit
b715e8f858
@ -1,6 +1,49 @@
|
|||||||
#ifndef PREP_H
|
#ifndef PREP_H
|
||||||
#define PREP_H
|
#define PREP_H
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
#include <ctime>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
// For test example
|
||||||
int add(int a, int b);
|
int add(int a, int b);
|
||||||
|
|
||||||
|
// All IDs are uint32_t
|
||||||
|
enum EventType { PHASE_CHANGE, ACTION, ROOM_STATE_CHANGE, PLAYER_STATE_CHANGE };
|
||||||
|
enum Action { KILL, VOTE, INVESTIGATE, HEAL, PROTECT };
|
||||||
|
enum RoomStatus { AWAITING_START, IN_PROGRESS, STOPPED, ENDED };
|
||||||
|
enum PlayerStatus { KICKED, ALIVE, DEAD, VOTED_OUT };
|
||||||
|
|
||||||
|
struct Role;
|
||||||
|
struct Player;
|
||||||
|
struct Room;
|
||||||
|
struct Event;
|
||||||
|
|
||||||
|
struct Role {
|
||||||
|
std::vector<Action> actions;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Player {
|
||||||
|
std::string username;
|
||||||
|
Role role;
|
||||||
|
PlayerStatus playerStatus;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Room {
|
||||||
|
std::string title;
|
||||||
|
std::tm *utcTimestampCreatedAt;
|
||||||
|
RoomStatus status;
|
||||||
|
uint32_t id;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Event {
|
||||||
|
std::string title;
|
||||||
|
std::tm *utcTimestampCreatedAt;
|
||||||
|
uint32_t numberNight;
|
||||||
|
bool isVisible;
|
||||||
|
std::vector<Action> causedBy;
|
||||||
|
std::vector<Action> influenced;
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user