A semi-intelligent solver for RoboZZle. Solved 2,000+ puzzles. See zlejrob's profile – currently in top 50 of 100,000+ players.
You'll need python 3
and pip
installed. After that, install project
dependencies with:
pip install -r requirements.txt --use-mirrors
Watch out:
pip
refers to Python 2 version of pip on certain systems (Ubuntu). You might need to specify the version explicitly by calling e.g.pip-3.3
instead.
The following is a sample of how to run zlejrob. Not knowing optimal solver configuration myself, I'll leave that as an exercise for the reader:
from zlejrob import Client, Runner, Zlo
client = Client({
'name': 'name',
'pass': 'password',
})
solver_config = {
'star_score': int,
'reached_score': int,
'length_penalty': int,
'degeneration': float,
'mutability': int,
'offsprings': int,
'survivors': int,
'generation_limit': int,
}
zlo = Zlo(client, Runner(max_steps=100), solver_config)
zlo.fetch_solve_submit(27) # fetch and solve one puzzle
zlo.solve_unsolved_puzzles() # run through the default campaign
Please do not submit zlejrob solutions as your own.
A prerequisite for running the test suite is putting your robozzle.com login
details in zlejrob/config.py
. The test suite can be run with:
python -m unittest discover
Watch out:
python
refers to Python 3, on certain systems (Ubuntu), you'll need to specify the version explicitly by usingpython3
instead.