MiniGame-Madness
wordScrambler.h
1 #ifndef WORDSCRAMBLER_H
2 #define WORDSCRAMBLER_H
3 
4 #include <iostream>
5 #include <string>
6 #include <vector>
7 #include "ScreenBuffer.h"
8 
11 private:
13  ScreenBuffer* screenBuffer;
14 
16  bool ownsScreenBuffer;
17 
18 public:
20  WordScrambler();
21 
23  explicit WordScrambler(ScreenBuffer* buffer);
24 
27 
29  void setScreenBuffer(ScreenBuffer* buffer);
30 
32  void clearScreen();
33 
37  std::string getRandomWord(const std::string& filename);
38 
42  std::string scrambleWord(const std::string& word);
43 
47  std::string toLowerCase(const std::string& str);
48 
51  void displayHint(const std::string& word);
52 
55  void playWordScrambler(const std::string& difficulty);
56 
58  void run();
59 };
60 
61 #endif // WORDSCRAMBLER_H
void playWordScrambler(const std::string &difficulty)
Main gameplay loop for the Word Scrambler game.
Definition: wordScrambler.cpp:92
Class representing the Word Scrambler game.
Definition: wordScrambler.h:10
std::string scrambleWord(const std::string &word)
Scrambles the characters in a given word.
Definition: wordScrambler.cpp:58
A class that represents the screen buffer.
Definition: screenBuffer.h:26
void clearScreen()
Clears the screen using the ScreenBuffer class.
Definition: wordScrambler.cpp:31
void setScreenBuffer(ScreenBuffer *buffer)
Sets the ScreenBuffer to be used by the game.
Definition: wordScrambler.cpp:23
void run()
Runs the Word Scrambler game.
Definition: wordScrambler.cpp:157
std::string getRandomWord(const std::string &filename)
Retrieves a random word from a specified text file.
Definition: wordScrambler.cpp:37
~WordScrambler()
Destructor to clean up internal ScreenBuffer if we own it.
Definition: wordScrambler.cpp:15
void displayHint(const std::string &word)
Displays a hint with the first, middle, and last characters of the word.
Definition: wordScrambler.cpp:78
WordScrambler()
Default constructor.
Definition: wordScrambler.cpp:7
std::string toLowerCase(const std::string &str)
Converts a string to lowercase.
Definition: wordScrambler.cpp:69