diff options
author | Erich Eckner <git@eckner.net> | 2022-12-21 19:42:00 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2022-12-21 19:42:00 +0100 |
commit | 0dee8a5e1fc38670434f4b015e5328d3f3b096d7 (patch) | |
tree | 8c135f0cc3f6788d0d64a5ad7c59f03709609333 | |
parent | 94c842ae469dce9da08b5816b300ffa9afb7363b (diff) | |
download | wordle-backend-0dee8a5e1fc38670434f4b015e5328d3f3b096d7.tar.xz |
make more robust: trial can be longer than the solution
-rwxr-xr-x | server.py | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -24,12 +24,14 @@ class TrialHandler(BaseHandler): def is_solved(self): return self.solution == self.trial def letter_is_green(self, index): + if index >= len(self.solution): + return False return self.solution[index] == self.trial[index] def letter_is_green_or_yellow(self, zip_list, index): char = self.trial[index] return [ c[0] for c in zip_list ].count(char) >= [ c[1] for c in zip_list ][0:index+1].count(char) def get_colors(self): - zip_list = [ c for c in zip(self.solution, self.trial) if c[0] != c[1] ] + zip_list = [ c for c in zip(self.solution + ''.join([' ' for i in range(len(self.trial))]), self.trial) if c[0] != c[1] ] return [ 2 if self.letter_is_green(index) else 1 if self.letter_is_green_or_yellow(zip_list, index) |