From 2dc194cd815fd04d2e87cf6fa3041cafb421dfdc Mon Sep 17 00:00:00 2001 From: Jonas Weinz Date: Mon, 2 Aug 2021 18:39:24 +0200 Subject: [PATCH] fix solution word error --- server/crossword_generator.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/server/crossword_generator.py b/server/crossword_generator.py index 2706106..ea694bd 100644 --- a/server/crossword_generator.py +++ b/server/crossword_generator.py @@ -159,7 +159,10 @@ def create_word_grid(w: int, h: int, lang_code: str = "en", target_density: floa if char not in locations: locations[char] = [] - locations[char].append([y, x]) + if [y,x] not in locations[char]: + locations[char].append([y, x]) + + remove_digits = str.maketrans('', '', digits) n_words = len(list_words) @@ -298,7 +301,7 @@ def create_word_grid(w: int, h: int, lang_code: str = "en", target_density: floa return None - def get_solution_word(min_length=8, max_length=100): + def get_solution_word(min_length=10, max_length=100): word = get_word(min_length=min_length, max_length=max_length) # search for matching characters in locations @@ -365,7 +368,7 @@ def create_word_grid(w: int, h: int, lang_code: str = "en", target_density: floa current_density = density() - solution_word_locations = get_solution_word() + solution_word_locations = get_solution_word(min_length=min(min_shape//2, 15)) logging.info("crossword generation done after %s iterations", str(i)) return grid, word_hints, solution_word_locations