Difference between revisions of "Tutorial Project Evolutions"

From wiki.visual-prolog.com

m
Line 124: Line 124:


==Building notes==
==Building notes==
{{TestedWithEn}}
{{SpbTestedWithEn}}
 
Releases 1-7 projects may be easily created by copying the code directly from the wiki pages.
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.
Since Release 8 you need to download the set of projects.

Revision as of 19:22, 12 April 2011

Written by Victor Yukhtenko. Email: victor@pdc.spb.su

Motivation

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 description

The game is played on an M x N board.

Game rules

  • Each player on his turn adds a new point. The point must prolong the existing Polyline (or start the Polyline, if it doesn't exist).
  • The resulting Polyline must be non-interrupted and each move can be taken in any of end of the line.
  • The player, which locks the line (the point is set on the polyline), wins.

Before you start

VipSpbSDK_PE_73_Examples_Polyline is part of the VipSpbSDK. VipSpbSDK - is the set of tools to develop applications based on Visual Prolog from Prolog Development Center A/S To build and study projects of series you must install 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

{{example_chain

type=file release=5 description=Computer's move based on the prognosis on the depth K moves. The code reorganized. target=Console pe=+
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 VersionReference).

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).