Skip to main content

Robot word search game

Project description

Wheel Status

WordSeek is a new take on the classic puzzle game, Word Search.

WordSeek follows the same rules as its original counterpart except that it is completely automated. Every game, it pits 2 or more Python bots against one another. The fastest bot (in culminative time) wins that round. Time is added for incorrect answers.


WordSeek is comprised of 50 turns in one game. Each turn, a random word and 9x9 grid is generated.

Sample grid:

     0    1    2    3    4    5    6    7    8
0 [['x', 'A', 'd', 'f', 'o', 'x', 'D', 'd', 'd']
1  ['d', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd']
2  ['d', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd']
3  ['d', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd']
4  ['d', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd']
5  ['d', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd']
6  ['d', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd']
7  ['d', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd']
8  ['d', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd']]

Find word: xAdfoxD

It is your job to create a robot that can return as fast as possible a list of tuples with each tuple corresponding to a character in the grid so that the list ‘spells’ out the given word. For example, the answer to the above grid would be:

[(0,0), (1,0), (2,0), (3,0), (4,0), (5,0), (6,0)]

Note: Possible characters all come from Python’s ASCII. No numbers. CAPS do count!

If the robot returns the wrong answer, additional penalty time is added to the robot’s total time. Penalities are incremental up until the third one.

Mistake Penalty
1st +0 seconds
2nd +5 seconds
3rd+ +10 seconds


When WordSeek is first run, it attempts to read the specified files and find the Robot class in your python file. If it has successfully found the class, it will initialize your bot and prepare it for battle!

Every turn, WordSeek will call the method find_turn(self, grid, word). The method should return the location of the word as described in the Rules section.

A dummy implementation goes as follows:

class Robot:

    # optional
    author = "Your Name"

    def find_word(self, grid, word):
        answer = []
        # Logic goes here ...
        return answer

It is strongly recommended that you check out this starter bot.


In order to use this, first, install wordseek using “pip install wordseek” or manually download and run with the “install” argument. Allowed arguments for running the program are posted below:

usage: wordseek [-h] [-q] [-i]
                [--seed SEED]

wordseek execution script

positional arguments:
  players               Player file names

optional arguments:
  -h, --help            show this help message and exit
  -q, --quiet           Suppress game output
  -i, --immediate       Run the game immediately after startup
  --seed SEED           Determines output of word grids

Additional credit to WhiteHalmos and others who have contributed to rgkit, the precursor to wordseek.

Project details

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
wordseek-1.0.7-py2.py3-none-any.whl (10.5 kB) Copy SHA256 hash SHA256 Wheel 2.7 Oct 30, 2014 (12.3 kB) Copy SHA256 hash SHA256 Source None Oct 30, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page