24 lines
472 B
C++
24 lines
472 B
C++
|
#pragma once
|
||
|
|
||
|
#include <optional>
|
||
|
#include <memory>
|
||
|
|
||
|
class GuessCorrector {
|
||
|
const char *m_word;
|
||
|
size_t m_word_length;
|
||
|
std::unique_ptr<std::optional<char>[]> m_parts_guessed;
|
||
|
|
||
|
public:
|
||
|
GuessCorrector(const char *word);
|
||
|
|
||
|
GuessCorrector() = default;
|
||
|
|
||
|
[[nodiscard]] bool has_char(char to_check) const;
|
||
|
|
||
|
void add(char to_add);
|
||
|
|
||
|
[[nodiscard]] bool is_filled_out() const;
|
||
|
|
||
|
[[nodiscard]] std::weak_ptr<std::optional<char>[]> guessed() const;
|
||
|
};
|