|Depends on KDE 4.x|
|Submitted: Sep 9 2009|
Updated: Oct 31 2011
This is a crossword playing game and editor for KDE 4. You can use it to create new crosswords. It can open and save *.puz-files (AcrossLite) and it's own *.kwp-files (which are XML files). You can download lots of crosswords from within the game. You can also print crosswords.
If you want to see the game in action first, here is a screencast: http://www.youtube.com/watch?v=-NHxfybIaI4.
And a second screencast showing the new animations and better editing features: http://www.youtube.com/watch?v=_FztIuNV5zE.
...And a third screencast of KrossWordPuzzle Version 0.15.5: http://www.youtube.com/watch?v=dmBJLLd22Fo.
To compile the game from the sources you need development packages for KDE4 (>= 4.2). (naming can differ: libqt4-devel, libkde4-devel, libkde4-games-devel, ..?)
There are also packages available for various distributions.
Translations The translation files cannot be included here, because the file would get too big. Therefore I have a tarball with some translations here: http://publictransport.horizon-host.com/data/krosswordpuzzle-0.15.6.3-l10n.tar.gz (de, fr, it, pl, pt, pt_BR, sv, uk).
- Different crossword types: American, Swedish, Number Puzzle and Crossnumber. User defined types are also possible based on a set of rules. Barred crosswords can be played/designed (bars added automatically).
- Library, to store crosswords in. You can import crosswords to the library, export crosswords to *.kwp, *.kwpz, *.puz, *.pdf, *.ps, *.png, *.jpeg, download and add crosswords, create new folders in the library, delete folders/crosswords from the library and of course you can open crosswords in the library. You can also add crosswords to the library by dropping files, eg. from dolphin.
- Load/save AcrossLite PUZ-files.
- Download lots of PUZ-files from the Internet.
- Load/save XML files (*.kwp for kross-word-puzzle, *.kwpz for compressed *.kwp-files).
- Thumb creator for crossword files. It's used to get thumbnails for crosswords in the library. Can also be enabled for crossword files in dolphin.
- Print crosswords, print preview.
- Export to PDF / Postscript.
- Export to PNG / JPEG.
- Themes (currently a default one and Scribble, I've also made an Egyptian-theme but it's too big to be uploaded here. You can get the current version from KDEs SVN: http://websvn.kde.org/*checkout*/trunk/playground/games/krosswordpuzzle/themes/egyptian_theme.svgz).
- Animations using QtKinetic when compiled with Qt 4.6.
- Give hints, check and solve crosswords.
- Set confidence values for filled out letter cells.
- Image cells, which can be stretched across multiple cells. Can display local or remote images.
- Double clue cells, two visible (half) clue cells inside one cell in the crossword grid.
- Solution word, can be defined by converting some letter cells to "solution letter cells" in edit mode. The solution word is displayed in a toolbar, focus and current letters are synchronized between the solution letter cells in the toolbar and the ones in the crossword.
- Erasor tool to clear letter cells / whole clue answers.
- Clue list in a dock, which also shows the current answers.
- Uses KEmoticon for emoticons in the clue list dock, indicating if the answer is complete.
- Popup menus for crossword cells (to set the confidence, clear/solve letters/clues, in edit mode: add/remove clues/images, clear correct letters/answers).
- Clue cells can be shown in the crossword.
- Edit crosswords (edit mode). You can add/remove/change clues and images, change correct letters, clear the crossword, change clue texts of existing clues in the clue dock, convert between crossword types, resize the crossword grid or moving all cells. Clue cells can be hidden or shown (with the clue text in it, useful for german/swedish/? crosswords).
- Undo/redo for all edit actions. The undo stack can also be saved with the crossword in XML files.
- Dictionary to find matching answers for new clues. The dictionary database (MySQL) can be filled from plain text dictionaries, crossword files or cvs-files. You can search for answers using wildcard patterns. Those patterns are automatically generated based on the letters that are already in the crossword, therefore matching answers are automatically offered when adding new clues.
- Templates for new crosswords.
- Interactively change answer-lengths by dragging.
- Check for 180 degree rotation Symmetry.
- Restore lost crosswords after a crash of the game (hopefully there is none ;)).
- Upload/Download with KNewStuff.
- Check the checksums of *.puz-files (the current checksum generation isn't completely correct..)
- Better icons, themes?
- A timer
- Crosswords in languages other than english
- Starting a new instance of the game while having a modified crossword open, makes the game ask to restore a "lost" crossword. I will add some dbus code to check if the instance which auto-saved the recovery crossword file is still running.
You can create new SVG-themes for the game. Look at the existing themes, each one got a .desktop file with optional settings.
You can also design some icons. Here's a list of missing icons:
- Mime type icon for compressed KrossWordPuzzle-XML-files (*.kwpz)
- Set confidence of a letter cell (confident, unsure) / of all letter cells of across/down clues
- Check for rotation symmetry
- Select clue with switched orientation
- Move all cells in the crossword grid
You're welcome to create new crosswords for the game in the *.kwp-format, which is XML.
You can create and edit crosswords from within the game. Your work is save even if the game crashes (just restart the game and it will ask you to restore the lost crossword). You can also undo all edit actions.
You're welcome to help me developing! Look at the TODO list for examples.
If you have created a package for the game please tell me so that I can link to that package.
Here's a list of dependencies (if something is missing please tell me):
- qt4-libs (>= 4.5, for animations 4.6 is needed)
- kde4-libs (>= 4.2)
If you found a bug please tell me.
Wishes or ideas what features should be added / changed are also welcome!
Thanks to all contributers!
Comments are appreciated :)
- Update to current SVN version
- Fixes compilation issues
- Fixed wrong file.
- Fixed compilation issues with Qt < 4.6.
- Changed the theme handling. Each theme now has a .desktop file with ten optional settings plus author, description... The themes are loaded with a class derived from KGameTheme. Theme selection is no longer done in a submenu but in the settings dialog with a KThemeSelector (with nice previews). Feel free to improve the themes (changing the SVGs or the .desktop settings) or create new ones :)
- Changed the entry name in the config file to store the used theme from "theme" to "Theme", because otherwise KThemeSelector crashes.
- Added drop shadow effects to the crossword title item (displaying the title in the crossword view above the crossword). When the theme says that it has a dark background (in it's .desktop file), the shadow becomes a white glow (looks great in the egyptian theme).
- Made the cells for the scribble theme semitransparent white, so that they are better distinguishable from blanks.
- Ukranian translation update.
- The crossword title, authors and copyright information are now drawn above the crossword in the crossword view.
- Added a glow effect to highlighted cells (QGraphicsDropShadowEffect). Focus cells get a red glow. Glow (dis-)appearance / color change is animated, when enabled.
- Disabled BSP Tree indexing of the QGraphicsScene for the crossword, which speeds up the game. The documentation says that it can be faster when disabled, if many animations are used or items move a lot. And it also prevents a crash due to some pure virtual method call, that arised with the use of the glow effect, combined with the focus in effect.
- Changed the easing curves for some animations.
- Speedup for theme loading, by reducing the size of the background pixmap (and drawing it scaled). This speeds up theme changing and reduces the startup time of the game.
- Nicer clue list dock.
- When holding the backspace key pressed to clear letters, the animations are now better (not playing the animations after releasing the key). Also works for filling answers with the same letter (although that makes no sense). This is done by processing non-user-input events after each changed letter cell due to a key press.
- BugFix: The theme background was cached twice, once by KrosswordPuzzleView (using QGraphicsView::CacheBackground) and once by KrosswordRenderer (this is now removed).
- BugFix: The current cell dock offered to change the orientation of a selected clue, although the orientation couldn't be changed, because the clue wouldn't fit into the grid with the new orientation.
- BugFix: When changing the length of an answer the currently selected clue won't change any longer, when the focused letter cell has been removed from the answer (the new last letter is now focused in such cases).
- Wasn't compilable with Qt < 4.6 because there was an (unused...) #include for QGraphicsEffect. Sorry ;)
- Added icons for answer offsets. They are shown in the current cell dock for clue cells instead of text ("Top Left", "Top", "Top Right", ...), to let the current cell dock get smaller. The insert char button is now a smaller tool button. The layout has changed to FormLayout with wrapping rows.
- The sorting of the across clue list and the down clue list in the clue dock is now set to: Across clue list first, then the down clue list. Previously it was random (I think ;)).
- Removed the preferences dialog to toggle animations when compiled with Qt < 4.6 as there are no animations then.
- The current cell dock now caches the widgets for the different cell types. When changing a clues properties it now doesn't have to recreate all the widgets which has delayed the animations in previous versions.
- Converting letter cells to solution letter cells and vice versa is now also animated.
- Clue texts can now be edited from the clue list (again). This is now also undoable.
- The clue texts in the clue list are now wrapped over two lines. The "Across"/"Down" parent items got a bold font.
- BugFix: Resizing image cells to a smaller vertical cell span wrongly created empty cells. This was due to the use of the smaller than-operator of KGrid2D::Coord, which is a typedef for QPair. This operator is inaccurate for coordinates (first it only tests the first element, the x coordinate; the second element, the y coordinate, is only tested if the x coordinates are equal). I now wrote overloaded operators (smaller/greater (than)) for KGrid2D::Coord in the game (maybe that should be included with kdegameslibs?).
- BugFix: Changing a clues orientation didn't move it's associated item in the clue dock to the list of clues with the new orientation. Changing a clues text didn't update the associated item in the clue dock.
- BugFix: When changing clue properties in a way that requires removal of solution letter cells, the solution letter cell wasn't restored on undo. Solution letter cells need to be removed when there already is a solution letter cell at the new position of a solution letter cell of the changed clue. This lead to an invalid undo stack and crashes.
- BugFix: When changing clue properties the clue got duplicated in the clue dock.
- BugFix: The solution toolbar wasn't updated when solution letter cells were removed due to changes of a clues properties.
- BugFix: For solution letter cells in the current cell dock: The solution word wasn't updated on changes due to a click on "Apply".
- BugFix: The current cell dock doesn't allow to convert to solution letters any longer, if the current crossword type doesn't allow solution letter cells.
- BugFix: Animations were always enabled for the krossword in the solution word toolbar.
- BugFix: The solution word letter cells in the solution word toolbar were sometimes wrongly disabled (should only be disabled when they have no associated solution letter cell in the crossword).
- BugFix: The select first/next/previous/last clue actions ignored that two clues can have the same clue number (horizontal and vertical). Therefore it didn't select all clues and switched twice sometimes (first to the horizontal and then to the vertical clue with the same clue number).
- BugFix: When changing the orientation of a clue with only one letter the clue expander item wasn't correctly positioned.
- BugFix: When changing a clues orientation / answer offset the animation wasn't correct in all cases.
- BugFix: When changing the correct answer by a click on an answer from the dictionary no undo command was created.
- BugFix: Fixed a bug that prevented clues to be added starting on letter cells.
- BugFix: Fixed a bug that made popup menus for cells disappear immediately when not in edit mode. The bug was in the current cell dock, it called show() on widgets that had no parent.
- BugFix: Fixed a possible crash when changing the answer offset of a clue with a crossed letter cell.
- Ukranian translation update.
The complete changelog is in the source archive.