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;ds=sidebyside
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