Category:Evolutions Tutorial Project


Jump to: navigation, search

Written by Victor Yukhtenko. Email:



This is an example of the evolution of the project development beginning from the initial idea till the today status. A very easy game has been chosen as the basic idea. We do not know the initial name of this game so we call it Polyline.

Each development step represented as the release, so you can see step by step the evolution of the application. Each release expands the functionality of the application, moving along the way the code is extended, modified and restructured or only restructured and modified.

Looking carefully on the code of each release you can see technique of the using of the Visual Prolog and advanced tools. It can be used to study the Visual Prolog features.

Game Rules ...

Before you start

The set of tutorial projects Polyline is the part of the VipSpbSDK. VipSpbSDK - is the set of tools to develop applications based on Visual Prolog from Prolog Development Center A/S

To get the full set of projects of the series of the Polyline projects, please download archives using links at PDC forum:


to any convenient directory. The directory named VipSpbSDK will be created automatically.

To build and study projects of series you must install Visual Prolog programming system

The reference information regarding the features depending on the vesrion of the Visual Prolog and version of the VipSpb SDK please see in the Version Reference. Short information regarding each release may be found in the table below.

SRC Release Short Description User Interface
project 14 The demonstration of the use of the pzl-Technology (DLL-based agreements) Win
project 13 The demonstration of various ways of the interaction with components placed to DLLs Win
project 12 Projects family with UI - ObjectConsole, Windows. The game dimension problem solved Con/Win
project 11 Projects family with different kinds of UI - Console, ObjectConsole, Windows. The usage of Libraries. New Player added. Con/Win
project 10 Code modified. Communication with players based on events. NotificationAgency pack used. Console
project 9 Code modified. Each class generates the Object. Console
project 8 Code modified. The structure of the project reorganized. Each class placed to the separate package. Console
file 7 MultiLanguage feature. The code reorganized. Console
file 6 Multiple plays mode. Easy expansion of the list of players. The size of the field mutable. The code reorganized. Console
file 5 Computer's move based on the prognosis on the depth K moves. The code reorganized. Console
file 4 Safe computer's move - random. The code of the player-computer restructured. Console
file 3 N players. The type of the player (computer or human) - by choice. Console
file 2 Players - objects. The initial move of the computer - random. Console
file 1 Players: computer and human. The initial move by choice. Console

Building notes

Tested with Visual Prolog 7.3 build 7302.

Releases 1-7 projects may be easily created by copying the code directly from the wiki pages. Since Release 8 you need to download the set of projects.

Releases 1-9 projects may be built one by one without any tricks.

Since Release 10 all projects use SpbSolutions IDE variable, which must refer to the VipSpbSDK directory.

Since Release 11 some projects demonstrate building libraries, thus user must have Microsoft lib.exe program tool (see details in the release appropriate Readme.html file).

Some Projects since Release 13 demonstrate and use the DLL creation. So these projects must be built using VIP CE only (please see details in Version Reference).

Projects placed to the Release 14 (Polyline14) PzlBasedApplication folder need to run the registration procedure after building all projects placed to the Containers directory. This must be done using the Programs\pzlBasedApplication\RegisterComponents.cmd command file.

To build projects the IDE variable SpbSolutions must be set to the VipSpbSDK directory.

The complex building

To simplify the settings and initial building of applicaions the Build.cmd command file included (BuildPersonal.cmd - please see details in Polyline Version Reference or in Examples\Polyline\VersionReference.html).

The use of Build.cmd file:

  • sets the SpbSolutions IDE variable, which refers to the VipSpb SDK directory;
  • "knows" where Visual Prolog is installed and uses VipBuilder.exe;
  • builds all projects containing in the subfolders;
  • builds all needed libraries;
  • registers all pzl-Components (if needed);
  • informs regarding the result of each building operation;
  • Build.cmd file may be used together with the Visual Prolog CE only (please see details in Polyline Version Reference or in Examples\Polyline\VersionReference.html).
Personal tools
In other languages