X-Git-Url: https://harishankar.org/repos/?p=getaclue.git;a=blobdiff_plain;f=crosswordpuzzle.py;fp=crosswordpuzzle.py;h=3c0ab4e4cdb089008a11216a413a146c48f9d6f1;hp=57878b808c6a90ba6f71b0467efae690d7e8a63e;hb=33acaf6d4771fb9e0befd81f3366b841f7bfbb10;hpb=5f68ccac12372c5271c21e9045558d2d03e92a41 diff --git a/crosswordpuzzle.py b/crosswordpuzzle.py index 57878b8..3c0ab4e 100644 --- a/crosswordpuzzle.py +++ b/crosswordpuzzle.py @@ -199,8 +199,9 @@ class CrosswordPuzzle: html_contents.append ("

Across clues

") html_contents.append ("

") for word, clue in clues_across: + # clue should be: - clue text (chars) clue_str = str (self.data[word[1]][word[2]].numbered) + " - " \ - + clue + + clue + " (" + str (word[3]) + ")" html_contents.append (clue_str) html_contents.append ("
") html_contents.append ("

") @@ -209,7 +210,7 @@ class CrosswordPuzzle: html_contents.append ("

") for word, clue in clues_down: clue_str = str (self.data[word[1]][word[2]].numbered) + " - " \ - + clue + + clue + " (" + str (word[3]) + ")" html_contents.append (clue_str) html_contents.append ("
") html_contents.append ("

") @@ -391,6 +392,11 @@ class CrosswordPuzzle: if i > 0 and i < len(word) - 1: if self.data[row+i][col-1].occupied_down is True: raise IntersectWordException (word, len(word)) + # if the previous column is the end of an across word + if (self.data[row+i][col-1].occupied_across is True and + self.data[row+i][col].occupied_across is False): + raise IntersectWordException (word, len(word)) + # on the next column except last column if col < len(word) - 1: # except the first and last row check if there is any @@ -441,6 +447,11 @@ class CrosswordPuzzle: if i > 0 and i < len(word) - 1: if self.data[row-1][col+i].occupied_across is True: raise IntersectWordException (word, len(word)) + # if the previous row is the end of a down word + if (self.data[row-1][col+i].occupied_down is True and + self.data[row][col+i].occupied_down is False): + raise IntersectWordException (word, len(word)) + # on a next row if (row < (self.rows - 1)): # except the first and last letter check if there is