4#include "wordle-de.pb.h"
5#include <botan/argon2.h>
6#include <botan/system_rng.h>
17 Player(
const std::string &name,
const std::string &pw)
19 Botan::System_RNG rng;
21 hashedPw = Botan::argon2_generate_pwhash(pw.c_str(),
sizeof(pw.c_str()),
26 return Botan::argon2_check_pwhash(pw.c_str(), pw.size(),
hashedPw);
28 std::array<GameState::matchType, WORD_LENGTH>
37 wordle_de::Player protoPlayer;
38 protoPlayer.ParseFromString(data);
41 state = protoPlayer.state();
45 wordle_de::Player protoPlayer;
48 auto localState =
new wordle_de::GameState;
52 auto add = localState->add_guesses();
55 protoPlayer.set_allocated_state(localState);
56 return protoPlayer.SerializeAsString();
std::string getWord()
Definition: game.hpp:30
std::vector< std::string > getGuesses()
Definition: game.hpp:32
uint8_t getTries()
Definition: game.hpp:31
guessResultT guess(const std::string &)
Definition: game.cpp:19
void setWord(const std::string &)
Definition: game.cpp:16
std::string toData()
Definition: player.hpp:44
std::array< GameState::matchType, WORD_LENGTH > guess(const std::string &guess)
Definition: player.hpp:29
std::string getUsername()
Definition: player.hpp:32
Player(const std::string &name, const std::string &pw)
Definition: player.hpp:17
std::string hashedPw
Definition: player.hpp:11
GameState getGameState()
Definition: player.hpp:33
void fromData(const std::string &data)
Definition: player.hpp:36
friend GameState
Definition: player.hpp:9
bool authenticate(const std::string &pw)
Definition: player.hpp:25
void setWord(const std::string &w)
Definition: player.hpp:34
GameState state
Definition: player.hpp:13
std::string username
Definition: player.hpp:10
Player()
Definition: player.hpp:16