diff options
Diffstat (limited to 'lingo.cpp')
-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 = { |