Tutorial Project. Release 11
Written by Victor Yukhtenko. Email: firstname.lastname@example.org
The programs listed below are part of the Tutorial Project Evolutions article.
Release 11 is the set of projects, which has the same game logic organization, but differs by the User Interface type - Соnsole, ObjectConsole, Windows (the implementation of the Windows-based HumanInterface represented in the library (.lib) in the Personal Edition).
the use of VIP-based libraries
Some components are represented same time as the source code (.PRO) and as the libraries (.LIB). Alternative projects presented in the Release 11. The text of the appropriate .CMD file to build libraries also presented.
To build libraries the application lib (Microsoft Linker Stub 7.10.3077) has been used.
logic and UI strongly separated
In all projects of the Release 11 the code, representing the logic and the code representing the User Interface are strongly separated.
All Projects of the Release 11 family use the common set of classes, which supports the logic of the game, configuration settings and the game managing.
The same time each project uses its own concept of the User Interface. It makes the possibility to create other user interface implementations and to use other UI concepts based say on HTML or XML. It is possible even to use other programming languages to create User Interface.
some hints on the universality
The structure of the code of the common used logical part gives the possibility to use the logical part with no change to organize the set of similar flat games. The only one JuniourJudge module must be replaced by the module with the same class name and interface and with the new rules support.
The new models of players must be created accordingly.
the new model of the player added
The new model of the player Computer3 created. This model is included as the library representation Computer3.lib.
This model is not the best, but it is one of possible models. We do not show its source code not because of it contains some Know-How.
The librarian representation gives the possibility first to show the competition of two different computer models on the big size boards. The second, it gives the possibility to make pair and group competitions of computer models with the hidden code, created by different people. And here the model Computer3.lib is one of them.
The Release 11 set of projects has been grown on the basis of Release 10 project. The interaction between players is organized as the hidden (deeply recursive) process, where the tail recursion demand is not fulfilled.
Because of this reason after some value of the multiplication board size*amount of games in the serial games the call stack is overloaded and the application disappears.
The fixing of this problem will be the goal of one of the future releases.
|LineByLine User Interaction scenario organization. Ordinary Console strategy.
|No details||Download and see Movie... (Zip archive 640 Kb)|
|Object-oriented Console. Based on interface components like PushButton, EditConrol etc., mouse based handling User-centered interaction.
Built on the PFC/Console. The concept is similar to PFC/GUI, including the event driven organization.
No multilingual support.
|More Details ...||Download and see Movie... (Zip archive 2.33 Mb)|
|Windows-based User Interface. PFC/GUI concept used.
No multilingual support.
|No details||Download and see Movie... (Zip archive 2.9 Mb)|
Download and Install
To install and run the set of projects of the Release 11:
- Download archives
using the PDC forum page VIP-Tools and Examples
- Extract archives listed above to the same directory. You should have in mind, that each of the archives creates the structure of the folders with the root PdcSpbSDK. Repetitions are possible. The result the structure of the Release 11 should look like:
- Open, build and run (using VIP 7.3):
- Polyline11_Console - console
- Polyline11_ConsoleLib - the same but the User Interface placed to the library
- Polyline11_ObjectConsole object-oriented console
- Polyline11_ObjectConsoleLib - the same but the User Interface placed to the library
- Polyline11_ObjWindowsLib - Windows PFC/GUI, the User Interface placed to the library
As before to build projects of the Polyline11 release the IDE variable SpbSolutions must be set to the PdcSpbSDK directory.
The language of the application, if supported, may be defined in the command line by the language identifier:
- en - English
- ru - Russian