summaryrefslogtreecommitdiffstats
path: root/labb5/src/Boggle.h
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-29 03:52:46 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-29 03:52:46 +0100
commit4fcb511e0f4f81453b1c97df99c56ebe1b38aade (patch)
tree342aa9261a573796f021eefa0d579858fcf597bc /labb5/src/Boggle.h
parent20b90c175988bf01b4c0933d956879f5848c6195 (diff)
downloadtddd86-4fcb511e0f4f81453b1c97df99c56ebe1b38aade.tar.gz
function comments, reorder includes
Diffstat (limited to 'labb5/src/Boggle.h')
-rwxr-xr-xlabb5/src/Boggle.h61
1 files changed, 57 insertions, 4 deletions
diff --git a/labb5/src/Boggle.h b/labb5/src/Boggle.h
index 1c73f3d..8e923a9 100755
--- a/labb5/src/Boggle.h
+++ b/labb5/src/Boggle.h
@@ -8,11 +8,11 @@
#define _boggle_h
#include <iostream>
-#include <string>
#include <set>
-#include "lexicon.h"
-#include "grid.h"
+#include <string>
#include <utility>
+#include "grid.h"
+#include "lexicon.h"
using namespace std;
using point = pair<int, int>;
@@ -25,20 +25,67 @@ public:
bool debug_mode = false;
Boggle();
+
+ /*
+ * Try to load a string of letters as the board.
+ *
+ * Returns wether it succeeds or not.
+ */
bool letters_from_string(const string& letters);
void read_dictionary();
+
+ /*
+ * Clear state between games.
+ */
void clear();
+
+ /*
+ * Shuffle the board, both the dices and their locations.
+ */
void shuffle();
- set<string> find_all_words() const;
+ /*
+ * Return wether a word can be constructed on the current board or not.
+ *
+ * Times itself if debug_mode is enabled.
+ */
bool find_single_word(const string& word) const;
+ /*
+ * Find and return all valid words that can be constructed from the current board.
+ *
+ * Times itself if debug_mode is enabled.
+ */
+ set<string> find_all_words() const;
+
+ /*
+ * Convert a board to its string representation.
+ *
+ * Does not contain a trailing newline.
+ */
string board_to_string() const;
+
+ /*
+ * Return a string represntation of all user words.
+ */
string user_words_to_string(int words_per_line = 8) const;
+
+ /*
+ * Return a string represntation of all computer words.
+ */
string computer_words_to_string(int words_per_line = 8) const;
+
+ /*
+ * Return a string representation of a set of words.
+ */
string words_to_string(const set<string>& words, int words_per_line = 8) const;
+ /*
+ * Run calculations for when it's the computers turn.
+ *
+ * Finds which words the computer found and how many points they're worths.
+ */
void do_computer_turn();
int get_computer_words_size() const;
int get_computer_score() const;
@@ -48,6 +95,12 @@ public:
bool word_is_valid(const string& word) const;
bool word_is_unplayed(const string& word) const;
+
+ /*
+ * Add a word the user has found and awards points.
+ *
+ * Does not do any checks.
+ */
void add_user_word(const string& word);
private: