Учебный Проект. Релиз 12
Автор: Виктор Юхтенко. 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):
Проект | Краткая информация |
---|---|
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 с использованием режима мультиигр. |
Установка
Если у Вас имеется VipSpbSDK, то все проекты находятся в директории Examples\Polyline\Polyline12\Programs
Если Вам нужен полный набор проектов серии Polyline (персональная версия), сгрузите и разархивируйте файлы архивов, пользуясь ссылками на форуме PDC ЗДЕСЬ
- VipSpbSDK_PE_73_Examples_Polyline_1_14.zip
- VipSpbSDK_PE_73_Tools_Polyline_1_14.zip]
в удобную для Вас директорию.
Коммерческая версия представлена в виде одного архива и может быть получена Здесь.
Оплата в любой из указанных валют. При оплате с рублевой кредитной карты валюта оплаты конвертируется в рубли по курсу банка-эмитента карты.
Директория с именем VipSpbSDK будет создана автоматически.
Запуск
- Запуск приложения из среды по E или запустить исполняемое приложение из директории EXE.
- Язык приложения определяется помещением в командной строке идентификатора языка:
- ru - русский
- en - английский
- При запуске из среды IDE параметр языка помещается в поле формы "Project Settings"\Run Options\Run Arguments, получаемой из меню Project\Settings...
- Игрок Computer00 может быть единственным игроком, при этом он должен быть объявлен как стартующий игрок.