Учебный Проект. Релиз 12: различия между версиями
м |
м |
||
Строка 1: | Строка 1: | ||
{{ | {{PolylineTemplateRu | ||
|goal= | |||
Демонстрация приемов программирования приложений на языке Visual Prolog: | |||
|goalContent= | |||
Семейство проектов Release 11, как отмечалось в комментариях к нему, имело недостаток - переполнение стека вызовов, начиная с некоторых значений произведения РазмерИгровогоПоля х ЧислоИгрВРежимеСериальныхИгр и, соответственно, прекращение работы программы. | |||
Release 12 имеет своей целью исправление этого недостатка. | |||
|code= | |||
Демонстрация приемов программирования на языке Visual Prolog: | |||
*'''Набор проектов''' | *'''Набор проектов''' | ||
** | **В Release 12 проектов Console, ConsoleLib, ObjectConsoleLib нет (и не предполагается их поддержка в будущем). | ||
** | **Проект ObjectWin содержит три варианта ObjectWin0, ObjectWin1, ObjectWin2 демонстрирующие последовательность модификации кода. | ||
**Проекты ObjectWinLibX соответствуют проектам ObjectWinX, но пользовательский интерфейс представлен библиотекой. | |||
**В-третьих, проект ObjectConsole содержит только окончательное решение и служит для проверки совместимости и работоспособности. | **В-третьих, проект ObjectConsole содержит только окончательное решение и служит для проверки совместимости и работоспособности. | ||
* | **Добавлен тестовый игрок Computer00. | ||
В целях проверки устойчивости проекта на играх большой размерности создан специальный игрок '''Computer00''', который всегда делает один и тот же (специальный) ход. Модуль JuniourJudge, обрабатывающий ходы игроков, распознает этот ход, как специальный, не отображает его на игровом поле и позволяет делать следующий ход. | |||
* | |||
В целях проверки устойчивости проекта на играх большой размерности создан специальный игрок '''Computer00''', который всегда делает один и тот же (специальный) ход. Модуль JuniourJudge, обрабатывающий ходы игроков, распознает этот ход, как специальный, не отображает его на игровом поле и позволяет делать следующий ход. | |||
Пояснения к вариантам проектов ObjectWinX/Polyline12_ObjWindows (в Personal Edition - ObjectWinLibX/Polyline12_ObjWindows): | Пояснения к вариантам проектов ObjectWinX/Polyline12_ObjWindows (в Personal Edition - ObjectWinLibX/Polyline12_ObjWindows): | ||
Строка 31: | Строка 24: | ||
|- | |- | ||
| ObjectWin1/Polyline12_ObjWindows | | ObjectWin1/Polyline12_ObjWindows | ||
| Первая модификация кода с целью обеспечения устойчивости. Рекурсивный принцип передачи ходов от игрока к игроку заменен на итерационный. Корректность механизмов режима мультиигр и механизма остановки игры не затрагивалась. Тестовая игра игрока Computer00 обеспечивается практически | | Первая модификация кода с целью обеспечения устойчивости. Рекурсивный принцип передачи ходов от игрока к игроку заменен на итерационный. Корректность механизмов режима мультиигр и механизма остановки игры не затрагивалась. Тестовая игра игрока Computer00 обеспечивается на практически любом значении константы '''playLimit_C''' (тестируется успешно на значении 100000). | ||
|- | |- | ||
| ObjectWin2/Polyline12_ObjWindows | | ObjectWin2/Polyline12_ObjWindows | ||
| Окончательная редакция кода. Обеспечена корректность всех режимов. Тестируется успешно на работе игрока | | Окончательная редакция кода. Обеспечена корректность всех режимов. Тестируется успешно на работе игрока Computer00 при значении константы '''playLimit_C'''=100000 с использованием режима мультиигр. | ||
|} | |} | ||
|functionality= | |||
*Добавлен тестовый игрок - Computer00 | |||
|install= | |||
Если у Вас имеется '''VipSpbSDK''', то все проекты находятся в директории '''Examples\Polyline\Polyline12\Programs''' | |||
{{PolylineInstall}} | |||
|open= | |||
==Построение== | |||
[[PolylineVersionReference|'''Ознакомьтесь предварительно с особенностями Вашей версии''']] | |||
*Programs\ObjectConsole\Polyline12_ObjConsole.prj6 | |||
*Programs\ObjectWin0\Polyline12_ObjWindows.prj6 | |||
* | *Programs\ObjectWin1\Polyline12_ObjWindows.prj6 | ||
* | *ProgramsDir\ObjectWin2\Polyline12_ObjWindows.prj6 | ||
* | |||
Выполните командный файл Programs\BuildHumanInterfaceLib.cmd | |||
Откройте и постройте проекты, использующие библиотеки пользовательских интерфейсов: | |||
Откройте | *Programs\ObjectWinLib0\Polyline12_ObjWindows.prj6 | ||
*Programs | *Programs\ObjectWinLib1\Polyline12_ObjWindows.prj6 | ||
*Programs | *Programs\ObjectWinLib2\Polyline12_ObjWindows.prj6 | ||
*Programs | |||
{{PolylineBuildCMD}} | |||
= | |run= | ||
[[en: | {{PolylineRun7_X}} | ||
*Игрок Computer00 может быть единственным игроком, при этом он должен быть объявлен как стартующий игрок. | |||
|enver= | |||
[[en:Tutorial Project. Release 12]] | |||
}} |
Версия 20:48, 8 апреля 2011
Автор: Виктор Юхтенко. Email victor@pdc.spb.su
Очередная версия Учебного проекта, функциональной идеей которого является простая игра.
Цель
Демонстрация приемов программирования приложений на языке Visual Prolog: Семейство проектов Release 11, как отмечалось в комментариях к нему, имело недостаток - переполнение стека вызовов, начиная с некоторых значений произведения РазмерИгровогоПоля х ЧислоИгрВРежимеСериальныхИгр и, соответственно, прекращение работы программы. Release 12 имеет своей целью исправление этого недостатка.
Функции
- Добавлен тестовый игрок - Computer00
Код
- Проверено на версии Visual Prolog 7.3 build 7302.
- Набор проектов
- В Release 12 проектов Console, ConsoleLib, ObjectConsoleLib нет (и не предполагается их поддержка в будущем).
- Проект ObjectWin содержит три варианта ObjectWin0, ObjectWin1, ObjectWin2 демонстрирующие последовательность модификации кода.
- Проекты ObjectWinLibX соответствуют проектам ObjectWinX, но пользовательский интерфейс представлен библиотекой.
- В-третьих, проект ObjectConsole содержит только окончательное решение и служит для проверки совместимости и работоспособности.
- Добавлен тестовый игрок Computer00.
В целях проверки устойчивости проекта на играх большой размерности создан специальный игрок Computer00, который всегда делает один и тот же (специальный) ход. Модуль JuniourJudge, обрабатывающий ходы игроков, распознает этот ход, как специальный, не отображает его на игровом поле и позволяет делать следующий ход.
Пояснения к вариантам проектов ObjectWinX/Polyline12_ObjWindows (в Personal Edition - ObjectWinLibX/Polyline12_ObjWindows): {
Установка
Если у Вас имеется VipSpbSDK, то все проекты находятся в директории Examples\Polyline\Polyline12\Programs
Если Вам нужен полный набор проектов серии Polyline (персональная версия), сгрузите и разархивируйте файлы архивов, пользуясь ссылками на форуме PDC ЗДЕСЬ
- VipSpbSDK_PE_73_Examples_Polyline_1_14.zip
- VipSpbSDK_PE_73_Tools_Polyline_1_14.zip]
в удобную для Вас директорию.
Коммерческая версия представлена в виде одного архива и может быть получена Здесь.
Оплата в любой из указанных валют. При оплате с рублевой кредитной карты валюта оплаты конвертируется в рубли по курсу банка-эмитента карты.
Директория с именем VipSpbSDK будет создана автоматически.
Построение
Ознакомьтесь предварительно с особенностями Вашей версии
- Programs\ObjectConsole\Polyline12_ObjConsole.prj6
- Programs\ObjectWin0\Polyline12_ObjWindows.prj6
- Programs\ObjectWin1\Polyline12_ObjWindows.prj6
- ProgramsDir\ObjectWin2\Polyline12_ObjWindows.prj6
Выполните командный файл Programs\BuildHumanInterfaceLib.cmd
Откройте и постройте проекты, использующие библиотеки пользовательских интерфейсов:
- Programs\ObjectWinLib0\Polyline12_ObjWindows.prj6
- Programs\ObjectWinLib1\Polyline12_ObjWindows.prj6
- Programs\ObjectWinLib2\Polyline12_ObjWindows.prj6
Для построения проектов переменная SpbSolutions должна быть установлена как маршрут к директории, где располагается VipSpbSDK.
Комплексное построение проектов
Для упрощения начального построения и выполнения всех необходимых настроек имеется командный файл Build.cmd (BuildPersonal.cmd - в зависимости от версии, детали см. Справка по версиям или в файле Examples\Polyline\VersionReference.html).
Командный файл Build.cmd при его использовании:
- настраивает переменную среды программирования IDE SpbSolutions, применительно к условиям установки;
- "знает", где установлена система Visual Prolog и программа VipBuilder.exe;
- производит построение всех проектов, включая проекты в поддиректориях;
- производит построение всех необходимых библиотек;
- осуществляет регистрацию всех необходимых Pzl-компонент (при их использовании);
- информирует об успешном или неуспешном завершении каждой операции;
- может быть использован только совместно с версией Visual Prolog CE (детали см Справка по версиям или в файле Examples\Polyline\VersionReference.html).
Запуск
- Запуск приложения из среды по E или запустить исполняемое приложение из директории EXE.
- Язык приложения определяется помещением в командной строке идентификатора языка:
- ru - русский
- en - английский
- При запуске из среды IDE параметр языка помещается в поле формы "Project Settings"\Run Options\Run Arguments, получаемой из меню Project\Settings...
- Игрок Computer00 может быть единственным игроком, при этом он должен быть объявлен как стартующий игрок.