[benzedrine.ch logo]
Contents
Home
Daniel Hartmeier
Packet Filter
pfstat
Mailing list
Annoying spammers
Prioritizing ACKs
Transparent squid
Proxy ICB/IRC
milter-regex
milter-spamd
milter-checkrcpt
login_yubikey
Dorabella
Tron
Planet Wars
Hexiom solver
3D-ODRPP
Polygon partition
Mikero's grid puzzle
Dark Star
Misc
Statistics


Hexiom Solver

Introduction

Hexiom is a flash-game where you drag numbered tiles on a hexagonal board until the numbers on the tiles match the number of neighbors:

Laurent Vaucher proposed solving (and playing) the game programmatically:

Related pages:

My attempt

The program uses Laurent's syntax to read and print levels. For example, this is the official level 38 of the game:

5
    +3 4 3 3+3
    4 4 3 2 4 5
   . 3 3 2 4 4 3
  2 . 2 . . . . 2
+3 4 . . 4 3 5 4+3
  5 4 4 4 4 2 4 3
   3 3 . . . . 3
    5 3 5 4 . 4
    +3 5 4 4+3

The first line contains the size of the level as a single number. Subsequent lines contain the hex tiles, somewhat rotated clockwise. Dots mark empty spots. Plus signs indicate that the next tile is locked, i.e. cannot be moved.

The program can also take a snapshot of the desktop, locate within the random size 6 level in a browser window, and solve it by generating mouse events.

Update: made the program multi-threaded, and added support for Mac OS X (tested on 10.7.3 Lion)!

Result

Download a movie (1.5MB) showing the program running on Mac OS X (click on image):

[Mac OS X screenshot]

See a flash movie showing the program running on Windows (click on image):

[Windows screenshot]

February 14th, 2012 by Daniel Hartmeier <daniel@benzedrine.ch>

Last updated on Sat Nov 24 12:21:05 2018 by daniel@benzedrine.ch.