summary refs log tree commit diff stats
path: root/lingo.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-03-20 20:40:13 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2023-03-20 20:40:13 -0400
commit53c1e08d84f3dc145abd6d13c40cc629a2ff2c09 (patch)
tree13181e20b47b50d5e7515436b05ab99986d50d18 /lingo.cpp
parentcfcbc9697a77ea949c481827ada4dfd5d6bb6a4f (diff)
downloadlingo-53c1e08d84f3dc145abd6d13c40cc629a2ff2c09.tar.gz
lingo-53c1e08d84f3dc145abd6d13c40cc629a2ff2c09.tar.bz2
lingo-53c1e08d84f3dc145abd6d13c40cc629a2ff2c09.zip
Added magenta and lime clues
Diffstat (limited to 'lingo.cpp')
-rw-r--r--lingo.cpp34
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
58const std::string NONE_EMOTE = "<:xx:1047267830535557180>"; 62const 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
72enum FilterDirection { 78enum 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 = {