Учебный Проект. Релиз 13: различия между версиями

Материал из wikiru.visual-prolog.com

м
м
Строка 1: Строка 1:
Релиз 13 является очередной итерацией Учебного проекта,Функциональной идеей которого является простая игра.
Очередная итерация Учебного проекта, функциональной идеей которого является простая игра.
[[Игра "Ползунок". Правила игры|Правила игры ...]]
[[Игра "Ползунок". Правила игры|Правила игры ...]]


Строка 5: Строка 5:
Демонстрация различных способов взаимодействия главного приложения с частями проекта, помещенными в DLL (Dynamically Linked Library - динамически связываемые библиотеки). Попутно демонстрируется генерация и обработка исключений.
Демонстрация различных способов взаимодействия главного приложения с частями проекта, помещенными в DLL (Dynamically Linked Library - динамически связываемые библиотеки). Попутно демонстрируется генерация и обработка исключений.


==Особенности Release 12==  
==Особенности Release 13==  
*'''Набор проектов'''
*'''Набор проектов'''
**Во-первых, в Release 12 проектов Console, ConsoleLib, ObjectConsoleLib нет (и не предполагается их поддержка в будущем).  
**Проекты набора являются строго взаимосвязанными, поскольку некоторые модули приложения помещены в DLL, для каждой из которых предусмотрен свой проект.  
**Во-вторых, проект ObjectWin содержит три варианта ObjectWin0, ObjectWin1, ObjectWin2 (в версии Personal Edition представлены только проекты ObjectWinLibX, соответственно, с реализацией пользовательского интерфейса в виде библиотеки) демонстрирующие последовательность модификации кода.  
**Набор проектов содержит:
**В-третьих, проект ObjectConsole содержит только окончательное решение и служит для проверки совместимости и работоспособности.  
  Проект ObjectWin - проект главного исполняемого приложения.
  Проект ModelsDLL (генерирует DLL), в который помещены модели компьютерных стратегий игры Computer0, Computer1, Computer2.
  Проект Computer3DLL (генерирует DLL), в который помещена модель стратегии игры Computer3.
*'''Функциональное повторение'''
*'''Функциональное повторение'''
Функционально Release 12 ничем не отличается от Release 11.
Функционально Release 13 ничем не отличается от Release 12 (и 11). Исключение составляет реагирование на возможные нарушения в составе приложения - либо отсутствие DLL, либо нарушение в DLL соглашений взаимодействия c главным приложением.Re
*'''Добавление тестового игрока - 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 следует:  
'''Для установки и запуска''' проектов семейства Релиз 13 следует:  
*Сгрузить архивы
*Сгрузить архивы
**'''PdcSpbSDK_72_PE_Examples_Polyline12_Classes.zip'''  
**'''PdcSpbSDK_72_PE_Examples_Polyline13_Classes.zip'''  
**'''PdcSpbSDK_72_PE_Examples_Polyline12_Programs.zip'''
**'''PdcSpbSDK_72_PE_Examples_Polyline13_Programs.zip'''


используя страницу  форума PDC [http://discuss.visual-prolog.com/viewtopic.php?p=31296&sid=b2208e8e3ec2a4480bffd4e7ecc61290#31296 VIP-Средства и Примеры]
используя страницу  форума PDC [http://discuss.visual-prolog.com/viewtopic.php?p=31296&sid=b2208e8e3ec2a4480bffd4e7ecc61290#31296 VIP-Средства и Примеры]
*Разархивировать эти архивы в одной и той же директории. Следует иметь в виду, что каждый из архивов создает структуру папок (иногда с повторениями) с корнем PdcSpbSDK. В результате структура всего набора release 12 должна выглядеть так:
*Разархивировать эти архивы в одной и той же директории. Следует иметь в виду, что каждый из архивов создает структуру папок (иногда с повторениями) с корнем PdcSpbSDK. В результате структура всего набора Релиз 13 должна выглядеть так:
[[Image:Polyline12Structure.jpg]]
[[Image:Polyline13Structure.jpg]]


==Исполнение==
==Исполнение==
Откройте, постройте и запустите проекты, '''используя VIP 7.2''':
Откройте, постройте и запустите проекты, '''используя VIP 7.2''':
*Programs/ObjectWinLib0/Polyline12_ObjWindows.prj  
*Programs/ObjectWin/Polyline13_ObjWindows.prj  
*Programs/ObjectWinLib1/Polyline12_ObjWindows.prj  
*Programs/ModelsDLL/ModelsDLL.prj  
*Programs/ObjectWinLib2/Polyline12_ObjWindows.prj  
*Programs/Computer3DLL/Computer3DLL.prj  
*Programs/ObjectConsole/Polyline12_ObjectConsole.prj
Игрок Computer00 может быть единственным игроком, при этом он должен быть объявлен как стартующий игрок.


Как и прежде, для построения проектов Polyline12 переменная SpbSolutions среды программирования IDE должна быть определена как маршрут к директории PdcSpbSDK.  
Как и прежде, для построения проектов Релиз 13 переменная SpbSolutions среды программирования IDE должна быть определена как маршрут к директории PdcSpbSDK.  
Язык приложения, если поддерживается иной, кроме английского, определяется помещением в командной строке идентификатора языка:  
Язык приложения, если поддерживается иной, кроме английского, определяется помещением в командной строке идентификатора языка:  
*ru - русский  
*ru - русский  
Строка 55: Строка 37:


=Ссылки=
=Ссылки=
[[en:Game Polyline. Release 12]]
[[en:Tutorial Project. Release 13]]
[[Category:Примеры]]
[[Category:Примеры]]
[[Category:Игры]]
[[Category:Игры]]

Версия 20:37, 30 сентября 2009

Очередная итерация Учебного проекта, функциональной идеей которого является простая игра. Правила игры ...

Цель

Демонстрация различных способов взаимодействия главного приложения с частями проекта, помещенными в DLL (Dynamically Linked Library - динамически связываемые библиотеки). Попутно демонстрируется генерация и обработка исключений.

Особенности Release 13

  • Набор проектов
    • Проекты набора являются строго взаимосвязанными, поскольку некоторые модули приложения помещены в DLL, для каждой из которых предусмотрен свой проект.
    • Набор проектов содержит:
 Проект ObjectWin - проект главного исполняемого приложения.
 Проект ModelsDLL (генерирует DLL), в который помещены модели компьютерных стратегий игры Computer0, Computer1, Computer2.
 Проект Computer3DLL (генерирует DLL), в который помещена модель стратегии игры Computer3.
  • Функциональное повторение

Функционально Release 13 ничем не отличается от Release 12 (и 11). Исключение составляет реагирование на возможные нарушения в составе приложения - либо отсутствие DLL, либо нарушение в DLL соглашений взаимодействия c главным приложением.Re

Загрузка и установка

Для установки и запуска проектов семейства Релиз 13 следует:

  • Сгрузить архивы
    • PdcSpbSDK_72_PE_Examples_Polyline13_Classes.zip
    • PdcSpbSDK_72_PE_Examples_Polyline13_Programs.zip

используя страницу форума PDC VIP-Средства и Примеры

  • Разархивировать эти архивы в одной и той же директории. Следует иметь в виду, что каждый из архивов создает структуру папок (иногда с повторениями) с корнем PdcSpbSDK. В результате структура всего набора Релиз 13 должна выглядеть так:

Polyline13Structure.jpg

Исполнение

Откройте, постройте и запустите проекты, используя VIP 7.2:

  • Programs/ObjectWin/Polyline13_ObjWindows.prj
  • Programs/ModelsDLL/ModelsDLL.prj
  • Programs/Computer3DLL/Computer3DLL.prj

Как и прежде, для построения проектов Релиз 13 переменная SpbSolutions среды программирования IDE должна быть определена как маршрут к директории PdcSpbSDK. Язык приложения, если поддерживается иной, кроме английского, определяется помещением в командной строке идентификатора языка:

  • ru - русский
  • en - английский

Ссылки