ITMO University
“Programming Technologies” Department


 Новости науки
 Почетные доктора
Учебный процесс
 Курсовые проекты
 Лабораторные работы
 Учебные курсы
 События и факты
 Искусственный интеллект
 Генетические алгоритмы
 Роботы и агенты
 Нейронные сети

О нас
 Сертификаты и дипломы
 Соревнования по программированию



 Automata-Based Programming
 UniMod Projects

Поиск по сайту


    / UniMod Projects / Implementation of classical Nim game based on automata approach (версия для печати)

Implementation of classical Nim game based on automata approach

© A. V. Yakovlev, M. A. Lukin, А. А. Shalyto

Saint-Petersburg State University of Information Technologies, Mechanics and Optics

Project documentation in PDF format
Binaries (plus all third-party libraries needed to launch)
Source code in Java language (plus Eclipse project and build scripts)
Extended package of project documentation (main documentation with appendix)


The goal of our project was to develop free implementation of well-known around the world game of Nim based on automata approach. To compare with analogues that we found in Internet at the moment of publication, we can mention that only our version contains either, open project documentation on two languages, graphical user interface on two languages and open source code with comments (automatas, controlled objects and event providers are commented in two languages). Three automatas are being used in project: managing automata, opponent's artificial intelligence automata and interface automata.

Artificial intelligence of the opponent makes the choice of optimal move with the help of estimation of game position with the special function (function of Sprag and Gandi), which is being computed using finite automata.

We have also implemented game in study mode, when you can (like in "Go") select how many odds you will receive from opponent.

Published version is capable of playing several widely known layouts such as "Classic", "Marienbad" etc.

Application is launched by run.cmd batch-file, while the usual build is performed by the rebuild.cmd file.

© 2002—2018 По техническим вопросам сайта: