Menu

Home

Brian

Disclaimer: The programmer has no idea how this writing-and-releasing-software thing works. He wrote something and imagines other people might find it useful, but has no experience with distributing stuff.

Purpose

What Gridderface is For

It's a thing you can paste puzzle images involving a rectangular grid into, so you can write and draw things on them on the screen, and presumably interactively solve them the way you would if you printed them out onto paper. It was initially directed towards Nikoli-style logic puzzles, but it can be used with crosswords too. As the description explained, it's meant to be used in a very keyboard-intense way. It is (very, very loosely) vi-inspired.

What Gridderface is Not

It is not an image manipulation program. You can save the image to share or just take screenshots, but this ability is not a focus. (There is a puzzle-image-generation program hidden in the jar file that I use, but it's in an even cruder state than the main program, not to mention totally undocumented, so I don't think people would want to use it at this stage.)

It does not provide answer verification of any sort. This can and has been automated for many, many logic puzzle types (e.g. janko.at Puzzle Applets or PUZ-PRE v3), but Gridderface doesn't know how to read the clues or tell what type the puzzle is, and in any case there are countless puzzle types or variations and more are being invented all the time. You don't usually have automatic verification for a puzzle you solved on paper, either.

It cannot deal with puzzles in nonrectangular grids. You can't draw completely random stuff or flood-fill. Still, I find the features it has right now are good enough to interactively solve a surprising number of puzzle types very conveniently.

Usage

This is a standalone program; there isn't any installation process or anything, just download the .jar file and run it. A GUI window should pop up if you double-click the .jar file. Using .jar files was the first and simplest way I found to distribute a Java program; if you think it sucks and have any suggestions for a better way, please tell me. Remember, I don't know what I'm doing.

1. Get the puzzle image

You can drag images or files into the UI, or paste a copied image or file (Ctrl+V). If your puzzle is given on a PDF, you should probably take a screenshot and then do the above; a quick web search should tell you how to do that for whatever system you're using. Gridderface now allows you to zoom and move the image around after you get it in; see below.

2. Align the grid with the image

First, type Ctrl+G or enter the command :setgrid to switch to grid-setting mode. Then use:
- hjkl/arrow keys to move the red grid around
- +- to resize cells, HJKL to fine-tune the large grid
- []{} to change the number of rows or columns
- cCgGsS to adjust the opacity of the content, grid, and selected part (the green "cursor")

Alternately, you can click and drag to set the large bounding rectangle after setting the number of rows or columns as above, or just click to reposition the grid without resizing. You're trying to get the grid to match the one on the image, because Gridderface is (currently) not that smart. That way, it knows where you want to draw stuff.

If the puzzle grid is in an inconvenient place in the image or is the wrong size, you can switch to viewport mode (:viewport or Ctrl+Z (mnemonic: zoom)). Then hjkl will move the viewport (essentially, move the image and the grid together) and +- will zoom in or out. Dragging the mouse works too.

3. Choose a mode, then start solving!

Exactly what each key does depends on the mode. For the most part, hjkl moves the "cursor" as in Vim, and <space> clears the selected cell, edge, or intersection. Typing : enters command mode, transferring focus to the lower text box, where long commands can be entered.

However, other commands also use the text box: = can enter text (say, multi-digit numbers) into the selected cell (in a large font, so you don't usually want to enter too many characters); ; does the same thing with a small font, while * enters text with inverted colors. # (tentative alias in Draw mode: s) allows Sudoku-pencil-clues; enter a subset of the digits 1 to 9.

These are the commands that activate the normal modes.

:drawDraw. Default mode; you can select colors with argbcmyARGBCMY and draw stamps with defFoOtxX+-|.,0123456789!?HJKL. Not all keys have effects on all of cells, edges, and intersections.
:setstampSet stamp. The keys are mapped in the same way as in Draw mode, except typing the stamp doesn't draw it, but stores it. Afterwards, clicking the mouse draws the stored stamp.
:alphaAlpha. Select colors with argbcmy as above. All uppercase keys enter uppercase letters, for crosswords or word puzzles in general. Numbers work too. Otherwise, fx.,!? have effect.
:loopLoop. Keys mostly focused on drawing parts of loops on the edges, as for Slitherlink and variants. Thus, color is not separately chosen. dfox rgbRGB
:fillFill. Keys mostly focused on filling cells or marking them empty, as for e.g. Nurikabe or Tapa. Thus, color is not separately chosen. fdsxo rgbcmyaRGBCMYA.
:lightLight. A very specific mode for Akari, just because. Color is not separately chosen. bfd.

Some other commands, with some modes that are significantly different:

:setgrid, :gridSet grid mode: adjust the grid as explained in section 2.
:viewportViewport mode: move or zoom the whole viewport, as explained in section 2.
:clearClear: clear everything drawn. Since Gridderface currently has no undo function, your work is lost forever!
:openOpen: open a dialog to open an image. Yeah, I know any vi-style program ought to specify a filepath in the command, but I'm lazy.
:saveSave: open a dialog to save the image as it appears on-screen. This feature is not tested well.
:aboutAbout: displays a silly uninformative about dialog.
:lock, :unlockLock or unlock the selected region. When locked, it only selects cells, skipping over edges or intersections while being moved.

Project Admins: