Учебный Проект. Релиз 13: различия между версиями
м (Новая: демонстрирует различные способы взаимодействия главного приложения с модулями, помещенными в DLL) |
м |
||
Строка 1: | Строка 1: | ||
Релиз 13 является очередной итерацией Учебного проекта,Функциональной идеей которого является простая игра. | |||
[[Игра "Ползунок". Правила игры|Правила игры ...]] | |||
==Цель== | |||
Демонстрация различных способов взаимодействия главного приложения с частями проекта, помещенными в DLL (Dynamically Linked Library - динамически связываемые библиотеки). Попутно демонстрируется генерация и обработка исключений. | |||
==Особенности Release 12== | |||
*'''Набор проектов''' | |||
**Во-первых, в Release 12 проектов Console, ConsoleLib, ObjectConsoleLib нет (и не предполагается их поддержка в будущем). | |||
**Во-вторых, проект ObjectWin содержит три варианта ObjectWin0, ObjectWin1, ObjectWin2 (в версии Personal Edition представлены только проекты ObjectWinLibX, соответственно, с реализацией пользовательского интерфейса в виде библиотеки) демонстрирующие последовательность модификации кода. | |||
**В-третьих, проект ObjectConsole содержит только окончательное решение и служит для проверки совместимости и работоспособности. | |||
*'''Функциональное повторение''' | |||
Функционально Release 12 ничем не отличается от Release 11. | |||
*'''Добавление тестового игрока - Computer00''' | |||
В целях проверки устойчивости проекта на играх большой размерности создан специальный игрок '''Computer00''', который всегда делает один и тот же (специальный) ход. Модуль JuniourJudge, обрабатывающий ходы игроков, распознает этот ход, как специальный, не отображает его на игровом поле и позволяет делать следующий ход. | |||
Пояснения к вариантам проектов ObjectWinX/Polyline12_ObjWindows (в Personal Edition - ObjectWinLibX/Polyline12_ObjWindows): | |||
{| cellspacing="0" border="1" | |||
|- | |||
!Проект | |||
! Краткая информация | |||
|- | |||
| ObjectWin0/Polyline12_ObjWindows | |||
|"Прическа" кода для обеспечения прозрачности взаимодействия моделей игроков, модулей SeniourJudge и JuniourJudge. Добавление специальлной тестовой модели игрока '''Computer00'''. Константа '''playLimit_C''' в модуле JuniourJudge определяет число ходов. Игрок '''Computer00''' может быть запущен один (играющий сам с собой). На значении константы '''playLimit_C'''=10000 можно наблюдать поломку программы. | |||
|- | |||
| ObjectWin1/Polyline12_ObjWindows | |||
| Первая модификация кода с целью обеспечения устойчивости. Рекурсивный принцип передачи ходов от игрока к игроку заменен на итерационный. Корректность механизмов режима мультиигр и механизма остановки игры не затрагивалась. Тестовая игра игрока Computer00 обеспечивается практически на любом значении константы '''playLimit_C''' (тестируется успешно на значении 100000). | |||
|- | |||
| ObjectWin2/Polyline12_ObjWindows | |||
| Окончательная редакция кода. Обеспечена корректность всех режимов. Тестируется успешно на работе игрока '''Computer00''' при значении константы '''playLimit_C'''=100000 с использованием режима мультиигр. | |||
|} | |||
==Загрузка и установка== | |||
'''Для установки и запуска''' проектов семейства Polyline 12 следует: | |||
*Сгрузить архивы | |||
**'''PdcSpbSDK_72_PE_Examples_Polyline12_Classes.zip''' | |||
**'''PdcSpbSDK_72_PE_Examples_Polyline12_Programs.zip''' | |||
используя страницу форума PDC [http://discuss.visual-prolog.com/viewtopic.php?p=31296&sid=b2208e8e3ec2a4480bffd4e7ecc61290#31296 VIP-Средства и Примеры] | |||
*Разархивировать эти архивы в одной и той же директории. Следует иметь в виду, что каждый из архивов создает структуру папок (иногда с повторениями) с корнем PdcSpbSDK. В результате структура всего набора release 12 должна выглядеть так: | |||
[[Image:Polyline12Structure.jpg]] | |||
==Исполнение== | |||
Откройте, постройте и запустите проекты, '''используя VIP 7.2''': | |||
*Programs/ObjectWinLib0/Polyline12_ObjWindows.prj | |||
*Programs/ObjectWinLib1/Polyline12_ObjWindows.prj | |||
*Programs/ObjectWinLib2/Polyline12_ObjWindows.prj | |||
*Programs/ObjectConsole/Polyline12_ObjectConsole.prj | |||
Игрок Computer00 может быть единственным игроком, при этом он должен быть объявлен как стартующий игрок. | |||
Как и прежде, для построения проектов Polyline12 переменная SpbSolutions среды программирования IDE должна быть определена как маршрут к директории PdcSpbSDK. | |||
Язык приложения, если поддерживается иной, кроме английского, определяется помещением в командной строке идентификатора языка: | |||
*ru - русский | |||
*en - английский | |||
=Ссылки= | |||
[[en:Game Polyline. Release 12]] | |||
[[Category:Примеры]] | |||
[[Category:Игры]] |
Версия 20:35, 29 сентября 2009
Релиз 13 является очередной итерацией Учебного проекта,Функциональной идеей которого является простая игра. Правила игры ...
Цель
Демонстрация различных способов взаимодействия главного приложения с частями проекта, помещенными в DLL (Dynamically Linked Library - динамически связываемые библиотеки). Попутно демонстрируется генерация и обработка исключений.
Особенности Release 12
- Набор проектов
- Во-первых, в Release 12 проектов Console, ConsoleLib, ObjectConsoleLib нет (и не предполагается их поддержка в будущем).
- Во-вторых, проект ObjectWin содержит три варианта ObjectWin0, ObjectWin1, ObjectWin2 (в версии Personal Edition представлены только проекты ObjectWinLibX, соответственно, с реализацией пользовательского интерфейса в виде библиотеки) демонстрирующие последовательность модификации кода.
- В-третьих, проект ObjectConsole содержит только окончательное решение и служит для проверки совместимости и работоспособности.
- Функциональное повторение
Функционально Release 12 ничем не отличается от Release 11.
- Добавление тестового игрока - Computer00
В целях проверки устойчивости проекта на играх большой размерности создан специальный игрок Computer00, который всегда делает один и тот же (специальный) ход. Модуль JuniourJudge, обрабатывающий ходы игроков, распознает этот ход, как специальный, не отображает его на игровом поле и позволяет делать следующий ход.
Пояснения к вариантам проектов ObjectWinX/Polyline12_ObjWindows (в Personal Edition - ObjectWinLibX/Polyline12_ObjWindows):
Проект | Краткая информация |
---|---|
ObjectWin0/Polyline12_ObjWindows | "Прическа" кода для обеспечения прозрачности взаимодействия моделей игроков, модулей SeniourJudge и JuniourJudge. Добавление специальлной тестовой модели игрока Computer00. Константа playLimit_C в модуле JuniourJudge определяет число ходов. Игрок Computer00 может быть запущен один (играющий сам с собой). На значении константы playLimit_C=10000 можно наблюдать поломку программы. |
ObjectWin1/Polyline12_ObjWindows | Первая модификация кода с целью обеспечения устойчивости. Рекурсивный принцип передачи ходов от игрока к игроку заменен на итерационный. Корректность механизмов режима мультиигр и механизма остановки игры не затрагивалась. Тестовая игра игрока Computer00 обеспечивается практически на любом значении константы playLimit_C (тестируется успешно на значении 100000). |
ObjectWin2/Polyline12_ObjWindows | Окончательная редакция кода. Обеспечена корректность всех режимов. Тестируется успешно на работе игрока Computer00 при значении константы playLimit_C=100000 с использованием режима мультиигр. |
Загрузка и установка
Для установки и запуска проектов семейства Polyline 12 следует:
- Сгрузить архивы
- PdcSpbSDK_72_PE_Examples_Polyline12_Classes.zip
- PdcSpbSDK_72_PE_Examples_Polyline12_Programs.zip
используя страницу форума PDC VIP-Средства и Примеры
- Разархивировать эти архивы в одной и той же директории. Следует иметь в виду, что каждый из архивов создает структуру папок (иногда с повторениями) с корнем PdcSpbSDK. В результате структура всего набора release 12 должна выглядеть так:
Исполнение
Откройте, постройте и запустите проекты, используя VIP 7.2:
- Programs/ObjectWinLib0/Polyline12_ObjWindows.prj
- Programs/ObjectWinLib1/Polyline12_ObjWindows.prj
- Programs/ObjectWinLib2/Polyline12_ObjWindows.prj
- Programs/ObjectConsole/Polyline12_ObjectConsole.prj
Игрок Computer00 может быть единственным игроком, при этом он должен быть объявлен как стартующий игрок.
Как и прежде, для построения проектов Polyline12 переменная SpbSolutions среды программирования IDE должна быть определена как маршрут к директории PdcSpbSDK. Язык приложения, если поддерживается иной, кроме английского, определяется помещением в командной строке идентификатора языка:
- ru - русский
- en - английский