The Game of Nim

About Nim

Nim is a two-player mathematical game of strategy in which players take turns removing objects from distinct heaps. On each turn, a player must remove at least one object, and may remove any number of objects provided they all come from the same heap. The winner is a player that takes the last object from the field.

Variants of Nim have been played since ancient times. The game is said to have originated in China (it closely resembles the Chinese game of Tsyanshidzi, or "picking stones"), but the origin is uncertain; the earliest European references to Nim are from the beginning of the 16th century. Its current name was coined by Charles L. Bouton of Harvard University, who also developed the complete theory of the game in 1901, but the origins of the name were never fully explained. The name is probably derived from German nimm! meaning "take!", or the obsolete English verb nim of the same meaning. Some people have noted that turning the word NIM upside-down and backwards results in WIN.

More information about the game can be found in Wikipedia (

About QNim

This is an open source implementation of well known Game of Nim. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

It is written in C++ language with pure Qt toolkit (version 3 or 4) and utilizes CMake for building process.

The home page for this project is

Project details are at

Subversion repository can be checked out through SVN with the following instruction set:

svn co qnim Logo