diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-12-01 14:39:49 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-12-01 14:39:49 +0100 |
| commit | b94ee4b34d5829434e5b873911758a356f03792d (patch) | |
| tree | 48c16bf256bdfaacb846d8f320b3e1326d4dfffc /labb5 | |
| parent | 2f2b9060e317afd465f1f32050d638ee6e30daed (diff) | |
| download | tddd86-b94ee4b34d5829434e5b873911758a356f03792d.tar.gz | |
check chars for custom boards
Diffstat (limited to 'labb5')
| -rwxr-xr-x | labb5/src/Boggle.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/labb5/src/Boggle.cpp b/labb5/src/Boggle.cpp index 9da2947..9ae2d94 100755 --- a/labb5/src/Boggle.cpp +++ b/labb5/src/Boggle.cpp @@ -89,7 +89,15 @@ bool Boggle::board_from_string(const string& letters) { for (int y = 0; y < BOARD_SIZE; y++) { for (int x = 0; x < BOARD_SIZE; x++) { - char c = letters[BOARD_SIZE*y + x]; + unsigned char c = letters[BOARD_SIZE*y + x]; + if (c >= 'a' && c <= 'z') { + c = std::toupper(c); + } else if (c >= 'A' && c <= 'Z') { + // do nothing + } else { + clear(); + return false; + } board[y][x] = c; } } @@ -97,6 +105,11 @@ bool Boggle::board_from_string(const string& letters) { } void Boggle::clear() { + for (int y = 0; y < BOARD_SIZE; y++) { + for (int x = 0; x < BOARD_SIZE; x++) { + board[y][x] = '\0'; + } + } user_words.clear(); computer_words.clear(); user_score = 0; |
