diff options
| -rw-r--r-- | lingo.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
| diff --git a/lingo.cpp b/lingo.cpp index 4a19dd3..d252b6d 100644 --- a/lingo.cpp +++ b/lingo.cpp | |||
| @@ -40,6 +40,8 @@ enum Colour { | |||
| 40 | kYellow, | 40 | kYellow, |
| 41 | kGreen, | 41 | kGreen, |
| 42 | kOrange, | 42 | kOrange, |
| 43 | kMagenta, | ||
| 44 | kLime, | ||
| 43 | kColourCount | 45 | kColourCount |
| 44 | }; | 46 | }; |
| 45 | 47 | ||
| @@ -53,6 +55,8 @@ const std::string COLOUR_EMOJIS[kColourCount] = { | |||
| 53 | "🟨", | 55 | "🟨", |
| 54 | "🟩", | 56 | "🟩", |
| 55 | "🟧", | 57 | "🟧", |
| 58 | "MAGENTA", | ||
| 59 | "LIME", | ||
| 56 | }; | 60 | }; |
| 57 | 61 | ||
| 58 | const std::string NONE_EMOTE = "<:xx:1047267830535557180>"; | 62 | const std::string NONE_EMOTE = "<:xx:1047267830535557180>"; |
| @@ -67,6 +71,8 @@ const std::string COLOUR_EMOTES[kColourCount] = { | |||
| 67 | "<:yw:1047262152781737986>", | 71 | "<:yw:1047262152781737986>", |
| 68 | "<:gn:1047262141914304633>", | 72 | "<:gn:1047262141914304633>", |
| 69 | "<:or:1047262144934182983>", | 73 | "<:or:1047262144934182983>", |
| 74 | "<:mg:1087531573580136578>", | ||
| 75 | "<:lm:1087531573580136578>", | ||
| 70 | }; | 76 | }; |
| 71 | 77 | ||
| 72 | enum FilterDirection { | 78 | enum FilterDirection { |
| @@ -235,6 +241,32 @@ verbly::filter makeHintFilter(verbly::filter subfilter, Height height, Colour co | |||
| 235 | } | 241 | } |
| 236 | break; | 242 | break; |
| 237 | } | 243 | } |
| 244 | case kLime: { | ||
| 245 | switch (height) { | ||
| 246 | case kBottom: { | ||
| 247 | if (filter_direction == kTowardSolution) | ||
| 248 | { | ||
| 249 | return (verbly::notion::hyponyms %= subfilter); | ||
| 250 | } else { | ||
| 251 | return (verbly::notion::hypernyms %= subfilter); | ||
| 252 | } | ||
| 253 | } | ||
| 254 | default: break; // Not supported yet. | ||
| 255 | } | ||
| 256 | } | ||
| 257 | case kMagenta: { | ||
| 258 | switch (height) { | ||
| 259 | case kBottom: { | ||
| 260 | if (filter_direction == kTowardSolution) | ||
| 261 | { | ||
| 262 | return (verbly::notion::hypernyms %= subfilter); | ||
| 263 | } else { | ||
| 264 | return (verbly::notion::hyponyms %= subfilter); | ||
| 265 | } | ||
| 266 | } | ||
| 267 | default: break; // Not supported yet. | ||
| 268 | } | ||
| 269 | } | ||
| 238 | case kGreen: { | 270 | case kGreen: { |
| 239 | if (filter_direction == kTowardSolution) | 271 | if (filter_direction == kTowardSolution) |
| 240 | { | 272 | { |
| @@ -576,6 +608,8 @@ private: | |||
| 576 | {kBottom, kRed}, | 608 | {kBottom, kRed}, |
| 577 | {kBottom, kBlue}, | 609 | {kBottom, kBlue}, |
| 578 | {kBottom, kGreen}, | 610 | {kBottom, kGreen}, |
| 611 | {kBottom, kMagenta}, | ||
| 612 | {kBottom, kLime}, | ||
| 579 | }; | 613 | }; |
| 580 | 614 | ||
| 581 | std::set<std::tuple<Height, Colour>> expensive_hints = { | 615 | std::set<std::tuple<Height, Colour>> expensive_hints = { |
