Level editor for Hexcells.
Open a level or paste one from clipboard and play it.
Loading multiple levels at once is supported. Use the tab bar to switch between them.
Left-click/right-click an orange cell to reveal it as blue/black. In case of a mistake the cell will not be revealed.
Press Z to undo.
Shift + left-click/right-click an orange cell to annotate it as blue/black. Repeat this to clear the annotation.
Annotations don't affect anything, they're just marks. Revealing a cell will clear the annotation regardless of its color.
Edit menu also contains options to clear all the annotations, confirm them (as if all of the annotated cells were clicked with a matching color) or deny them (...clicked with the opposite color).
See also: Text annotations
When you close a level, you will have an option to save the current progress. It will be loaded automatically next time. There is an option to clear progress.
If you use the Player to playtest right from Editor, it will save state between sessions.
Right click to revert a cell to yellow.
Full auto-solving capabilities are present.
Action | Button |
---|---|
Create blue cell | Left-click |
Create black cell | Right-click |
Create column number | Left-click on cell and drag outwards |
Delete cell/column number | Right-click |
Action | Button |
---|---|
Cycle through information display | Left-click on cell/column number |
Mark/unmark cell as revealed | Ctrl + left-click on cell |
Action | Button |
---|---|
Freehand selection | Shift + drag on empty space |
Select/deselect a cell | Shift + left-click on cell |
Deselect all | Shift + left-click on empty space |
Drag and drop selected | Left-click and drag |
Action | Button |
---|---|
Pan the view | Press and drag mouse wheel |
Zoom in/out | Mouse wheel up/down |
Action | Button |
---|---|
Toggle playtest mode | Tab |
Play from start | Shift + Tab |
Hover over a cell and press a number on the keyboard (or hold Shift and type any text) to add up to 3 characters of annotations.
Press Backspace or Tilde `~ to delete.
Additional color annotations are available in Player.
All mouse actions (except for pointer movement) can be replaced with keyboard presses:
Action | Button |
---|---|
Left-click | Q |
Right-click | W |
Pan | E |
Zoom in | + |
Zoom out | - |
Download the newest -win32.zip release, extract the folder and you're ready to go!
Install git
, python-pyqt5
or python-pyside
, python-pulp
(pip install pulp
), optionally glpk
:
-
Debian, Ubuntu:
sudo apt-get update sudo apt-get install git python-pyqt5 glpk-utils python-pip sudo pip install pulp
Go to a folder where you would like SixCells to be and obtain the source code (a subdirectory "sixcells" will be created):
git clone https://github.com/oprypin/sixcells
Now you can start editor.py
and player.py
by opening them in a file explorer or from command line.
To update SixCells to the latest version without deleting and redownloading, execute git pull
inside its directory.
sixcells on AUR. Optional dependency is needed for solving.
Make sure you have installed command line developer tools.
Use Homebrew and pip to install Python and the needed libraries:
brew install python3
pip3 install pyqt5 pulp
Go to a folder where you would like SixCells to be and obtain the source code (a subdirectory "sixcells" will be created):
git clone https://github.com/oprypin/sixcells
cd sixcells
Now you can run python3 editor.py
and python3 player.py
.
To update SixCells to the latest version without deleting and redownloading, execute git pull
inside its directory.
To find levels to play and share your own, visit reddit.com/r/hexcellslevels.
SixCells is written using Python and Qt.
PuLP is used for solving.
It is guaranteed to work on Python 3.3 and later; Versions 2.7 and 3.* should also work.
SixCells supports Qt 4 and Qt 5, and can work with either PySide, PyQt4 or PyQt5.
License: GNU General Public License Version 3.0 (GPLv3)
Encoding: UTF-8
A level is a sequence of 38 lines, separated with '\n' character:
- "Hexcells level v1"
- Level title
- Author
- Level custom text, part 1
- Level custom text, part 2
- 33 level lines follow:
- A line is a sequence of 33 2-character groups.
- '.' = nothing, 'o' = black, 'O' = black revealed, 'x' = blue, 'X' = blue revealed, '','|','/' = column number at 3 different angles (-60, 0, 60)
- '.' = blank, '+' = has number, 'c' = consecutive, 'n' = not consecutive
- A line is a sequence of 33 2-character groups.