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

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

м
м
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{copyright}}
{{spbCopyright}}


Пример эволюции разработки приложения от первоначальной идеи до сегодняшнего состояния. В качестве объекта разработки выбрана простая игра "Ползунок".
==Мотивация==
Учебный проект является примером эволюции разработки проекта от начальной идеи до сегодняшнего состояния. Функциональной идеей Учебного Проекта является простая игра. Точное имя игры нам неизвестно, поэтому она получила название Ломаная Линия (Polyline).  


В каждом следующем варианте расширяются функциональные возможности приложения (при этом модифицируется код с возможной его реструктуризацией) или только улучшается код.
Каждый этап разработки представляется отдельной реализацией (Релиз), что позволяет шаг за шагом наблюдать за развитием проекта. Каждая реализация расширяет функциональные возможности проекта и/или приводит к модификации кода.
 
Внимательное изучение кода каждой реализации позволяет осваивать технику использования языка системы программирования Visual Prolog и изучать свойства и возможности этого языка и компонентов набора средств VipSpbSDK.


[[Игра "Ползунок". Правила игры|Правила игры ...]]
[[Игра "Ползунок". Правила игры|Правила игры ...]]
==Прежде чем начать==
Набор учебных проектов Polyline является частью VipSpbSDK - набора инструментария для разработки приложений на базе системы программирования Visual Prolog фирмы Prolog Development Center A/S (PDC) (http://www.visual-prolog.com).
Для построения изучения и изучения серии проектов необходимо установить стандартным образом систему программирования Visual Prolog.
'''{{PolylineInstall}}'''
Информация, связанная с версией Visual Prolog и версией VipSpbSDK помещена в [[PolylineVersionReference|Справку]].
В таблице ниже приведена краткая информация относительно каждой реализации.


{| cellspacing="0" border="1"
{| cellspacing="0" border="1"
Строка 12: Строка 26:
!Версия
!Версия
!Краткое описание
!Краткое описание
!User<br/>Interface
!User Interface
!PE
 
{{example_chain
|type=проект
|release=14
|description=[[Учебный Проект. Релиз 14|Демонстрация построения проекта на базе PZL-технологии]]
|target=Win
}}


{{example_chain
{{example_chain
Строка 20: Строка 40:
|description=[[Учебный Проект. Релиз 13|Демонстрация различных приемов и техники взаимодействия с компонентами, помещенными в DLL. Новый игрок]]
|description=[[Учебный Проект. Релиз 13|Демонстрация различных приемов и техники взаимодействия с компонентами, помещенными в DLL. Новый игрок]]
|target=Win
|target=Win
|pe='''+'''
}}
}}


Строка 28: Строка 47:
|description=[[Учебный Проект. Релиз 12|Семейство проектов с UI - ObjectConsole, Windows. Решение проблемы размерности.]]
|description=[[Учебный Проект. Релиз 12|Семейство проектов с UI - ObjectConsole, Windows. Решение проблемы размерности.]]
|target=Con/Win
|target=Con/Win
|pe='''+'''
}}
}}


Строка 36: Строка 54:
|description=[[Учебный Проект. Релиз 11|Семейство проектов с различными UI - Console, ObjectConsole, Windows. Использование библиотек.]]
|description=[[Учебный Проект. Релиз 11|Семейство проектов с различными UI - Console, ObjectConsole, Windows. Использование библиотек.]]
|target=Con/Win
|target=Con/Win
|pe='''+'''
}}
}}


Строка 44: Строка 61:
|description=[[Учебный Проект. Релиз 10|Модификация кода. Взаимодействие с игроками осуществляется на основе событий]]
|description=[[Учебный Проект. Релиз 10|Модификация кода. Взаимодействие с игроками осуществляется на основе событий]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 50: Строка 66:
|type=проект
|type=проект
|release=9
|release=9
|description=[[Учебный Проект. Релиз 9|Модификация кода. Каждый класс является динамическим (генерирует объект)]]
|description=[[Учебный проект. Релиз 9|Модификация кода. Каждый класс является динамическим (генерирует объект)]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 60: Строка 75:
|description=[[Учебный Проект. Релиз 8|Модификация кода. Структура проекта реорганизована. Каждый класс помещен в пакет]]
|description=[[Учебный Проект. Релиз 8|Модификация кода. Структура проекта реорганизована. Каждый класс помещен в пакет]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 68: Строка 82:
|description=[[Учебный Проект. Релиз 7|Механизм мультиязычного режима.Реорганизация кода]]
|description=[[Учебный Проект. Релиз 7|Механизм мультиязычного режима.Реорганизация кода]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 76: Строка 89:
|description=[[Учебный Проект. Релиз 6|Режим многократных игр. Легкое добавление новых моделей игроков. Задаваемый размер поля. Реорганизация кода]]
|description=[[Учебный Проект. Релиз 6|Режим многократных игр. Легкое добавление новых моделей игроков. Задаваемый размер поля. Реорганизация кода]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 84: Строка 96:
|description=[[Учебный Проект. Релиз 5|Выбор хода компьютером делается на основе прогноза результата на глубину '''K''' шагов. Реорганизация кода]]
|description=[[Учебный Проект. Релиз 5|Выбор хода компьютером делается на основе прогноза результата на глубину '''K''' шагов. Реорганизация кода]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 92: Строка 103:
|description=[[Учебный Проект. Релиз 4|Небезопасный ход компьютера - случайный. Изменена структура кода класса, моделирующего компьютер]]
|description=[[Учебный Проект. Релиз 4|Небезопасный ход компьютера - случайный. Изменена структура кода класса, моделирующего компьютер]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 100: Строка 110:
|description=[[Учебный Проект. Релиз 3|N игроков. Тип игрока (компьютер, человек) - по выбору]]
|description=[[Учебный Проект. Релиз 3|N игроков. Тип игрока (компьютер, человек) - по выбору]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 108: Строка 117:
|description=[[Учебный Проект. Релиз 2|Игроки - динамические классы. Первый ход компьютера случайный]]
|description=[[Учебный Проект. Релиз 2|Игроки - динамические классы. Первый ход компьютера случайный]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


Строка 116: Строка 124:
|description=[[Учебный Проект. Релиз 1|Игроки: компьютер и человек. Первый ход - по выбору]]
|description=[[Учебный Проект. Релиз 1|Игроки: компьютер и человек. Первый ход - по выбору]]
|target=Консоль
|target=Консоль
|pe='''+'''
}}
}}


|}
|}
==Комментарии к построению проектов==
{{TestedWithRu}}
Проекты Релизов 1-7 могут быть созданы путем копирования кода из страниц Wiki.
Начиная с Релиз 8 Проекты должны быть сгружены и установлены в соответствии с инструкциями.
Проекты Релизов 1-9 могут быть построены непосредственно без каких-либо дополнительных действий.
Начиная с релиза 10, все проекты используют переменную среды программирования IDE SpbSolutions, которая должна указывать на корневую директорию, где помещены все проекты и средства VipSpbSDK.
Начиная с Релиза 11, некоторые проекты демонстрируют или используют технику построения библиотек (*.lib), поэтому необходимо иметь программу lib.exe от фирмы Microsoft, помещенную в директорию 3P_Tools\MSTools (детальная информация содержится в файлах Readme.html соответствующих релизов).
Некоторые проекты, начиная с Релиз 13, демонстрируют и используют технику создания и применения DLL. Такие проекты могут строиться только с помощью Visual Prolog CE (см. детали в файле VersionReference.html или в [[PolylineVersionReference|Справке]]).
Проекты Релиза 14, помещенные в директорию PzlBasedApplication требуют выполнения процедуры регистрации компонентов после построения проектов директории Containers. Это должно быть сделано с использованием командного файла Programs\pzlBasedApplication\RegisterComponents.cmd.
{{PolylineBuildCMD}}
[[en:PolyLine Evolutions]]
[[en:PolyLine Evolutions]]
[[Category:Проекты]]
[[Category:Проекты]]
[[Category:Игры]]
[[Category:Игры]]

Текущая версия на 10:40, 15 мая 2011

Автор: Виктор Юхтенко. Email victor@pdc.spb.su

Мотивация

Учебный проект является примером эволюции разработки проекта от начальной идеи до сегодняшнего состояния. Функциональной идеей Учебного Проекта является простая игра. Точное имя игры нам неизвестно, поэтому она получила название Ломаная Линия (Polyline).

Каждый этап разработки представляется отдельной реализацией (Релиз), что позволяет шаг за шагом наблюдать за развитием проекта. Каждая реализация расширяет функциональные возможности проекта и/или приводит к модификации кода.

Внимательное изучение кода каждой реализации позволяет осваивать технику использования языка системы программирования Visual Prolog и изучать свойства и возможности этого языка и компонентов набора средств VipSpbSDK.

Правила игры ...

Прежде чем начать

Набор учебных проектов Polyline является частью VipSpbSDK - набора инструментария для разработки приложений на базе системы программирования Visual Prolog фирмы Prolog Development Center A/S (PDC) (http://www.visual-prolog.com).

Для построения изучения и изучения серии проектов необходимо установить стандартным образом систему программирования Visual Prolog.

Если Вам нужен полный набор проектов серии Polyline (персональная версия), сгрузите и разархивируйте файлы архивов, пользуясь ссылками на форуме PDC ЗДЕСЬ

  • VipSpbSDK_PE_73_Examples_Polyline_1_14.zip
  • VipSpbSDK_PE_73_Tools_Polyline_1_14.zip]

в удобную для Вас директорию.

Коммерческая версия представлена в виде одного архива и может быть получена Здесь.

Оплата в любой из указанных валют. При оплате с рублевой кредитной карты валюта оплаты конвертируется в рубли по курсу банка-эмитента карты.

Директория с именем VipSpbSDK будет создана автоматически.

Информация, связанная с версией Visual Prolog и версией VipSpbSDK помещена в Справку.

В таблице ниже приведена краткая информация относительно каждой реализации.

SRC Версия Краткое описание User Interface
проект 14 Демонстрация построения проекта на базе PZL-технологии Win
проект 13 Демонстрация различных приемов и техники взаимодействия с компонентами, помещенными в DLL. Новый игрок Win
проект 12 Семейство проектов с UI - ObjectConsole, Windows. Решение проблемы размерности. Con/Win
проект 11 Семейство проектов с различными UI - Console, ObjectConsole, Windows. Использование библиотек. Con/Win
проект 10 Модификация кода. Взаимодействие с игроками осуществляется на основе событий Консоль
проект 9 Модификация кода. Каждый класс является динамическим (генерирует объект) Консоль
проект 8 Модификация кода. Структура проекта реорганизована. Каждый класс помещен в пакет Консоль
файл 7 Механизм мультиязычного режима.Реорганизация кода Консоль
файл 6 Режим многократных игр. Легкое добавление новых моделей игроков. Задаваемый размер поля. Реорганизация кода Консоль
файл 5 Выбор хода компьютером делается на основе прогноза результата на глубину K шагов. Реорганизация кода Консоль
файл 4 Небезопасный ход компьютера - случайный. Изменена структура кода класса, моделирующего компьютер Консоль
файл 3 N игроков. Тип игрока (компьютер, человек) - по выбору Консоль
файл 2 Игроки - динамические классы. Первый ход компьютера случайный Консоль
файл 1 Игроки: компьютер и человек. Первый ход - по выбору Консоль

Комментарии к построению проектов

Проверено на версии Visual Prolog 7.3 build 7302.

Проекты Релизов 1-7 могут быть созданы путем копирования кода из страниц Wiki. Начиная с Релиз 8 Проекты должны быть сгружены и установлены в соответствии с инструкциями.

Проекты Релизов 1-9 могут быть построены непосредственно без каких-либо дополнительных действий.

Начиная с релиза 10, все проекты используют переменную среды программирования IDE SpbSolutions, которая должна указывать на корневую директорию, где помещены все проекты и средства VipSpbSDK.

Начиная с Релиза 11, некоторые проекты демонстрируют или используют технику построения библиотек (*.lib), поэтому необходимо иметь программу lib.exe от фирмы Microsoft, помещенную в директорию 3P_Tools\MSTools (детальная информация содержится в файлах Readme.html соответствующих релизов).

Некоторые проекты, начиная с Релиз 13, демонстрируют и используют технику создания и применения DLL. Такие проекты могут строиться только с помощью Visual Prolog CE (см. детали в файле VersionReference.html или в Справке).

Проекты Релиза 14, помещенные в директорию PzlBasedApplication требуют выполнения процедуры регистрации компонентов после построения проектов директории Containers. Это должно быть сделано с использованием командного файла Programs\pzlBasedApplication\RegisterComponents.cmd.

Для построения проектов переменная 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).