В этой технологии базовым является понятие «состояние». Добавляя к нему понятие «входное воздействие», мы получаем «автомат без выхода». А дополнив технологию «выходным воздействием», мы получаем: автомат = состояния + входные воздействия +выходные воздействия. Соответствующий подход был назван «автоматным программированием».
В дальнейшем Шалыто и Н. И. Туккель развили этот подход для программирования более широкого класса задач. Авторы приводят пример применения switch-технологии при разработке системы управления дизель-генератором, реализуемой на промышленном компьютере с операционной системой QNX, в которой управляющая программа выполняется как один процесс, а программа, моделирующая объект, – как другой процесс. При этом был создан вариант switch-технологии для разработки программного обеспечения более широкого класса систем управления – «реактивных» (reactive), реагирующих на события. Такие системы обычно реализуются на промышленных компьютерах, работающих под управлением ОС реального времени. Рассмотренный подход является процедурным, а соответствующий стиль программирования был назван «программирование с явным выделением состояний»; существует и объектно-ориентированное программирование с явным выделением состояний.
Еще одна область применения автоматного программирования – классические алгоритмы, и в частности, построение визуализаторов алгоритмов.
У автоматных методов большое будущее, и хотя это научное направление все еще находится в стадии становления, switch-технология имеет все шансы занять достойное место в программировании.
Подробнее на эту тему можно прочитать в книге Шалыто А.А. Switch-технология. Алгоритмизация и программирование задач логического управления. – СПб.: Наука, 1998. Или на сайтеis.ifmo.ru.
ИГРЫ: Ролевые игры: Жизнь офлайн
Компьютерная игра – это всегда имитация. Развитие технологий все сильнее приближает ее к реальности, но никакие пиксельные шейдеры и многомерный звук не способны свести это различие на нет. И если, например, любитель авиасимуляторов захочет узнать, каково на самом деле управлять настоящим боевым самолетом в боевых условиях – сделать это будет непросто. Особняком здесь стоят RPG, в которые можно легко поиграть «по-настоящему», безо всякого компьютера. Предлагаемая вашему вниманию статья посвящена именно таким живым ролевым играм. – И.Щ.
Объяснить человеку, который никогда не играл в ролевые игры, что это такое, – весьма непросто. Рассказать об этом явлении в одной статье и нигде не погрешить против истины – практически невозможно. Всегда найдутся люди, которые скажут, что «все было совсем не так, я знаю, я там был!»
Следует понимать, что все сказанное в этой статье – только одна из версий, которых существует великое множество. Ролевые игры как явление с трудом поддаются определению, описанию и классификации. Это одна из тех вещей, которые необходимо хоть раз попробовать самому. Потому что всякий опыт в данном случае уникален и не похож на предыдущие, поскольку каждый участник процесса приходит в игры за чем-то своим.
Ролевые игры – это вид интеллектуального развлечения для группы лиц, состоящего в моделировании различных жизненных ситуаций, с участием ведущего (мастера), исполняющего функции сценариста и арбитра.
Казалось бы, ролевые игры порождают гигантский информационный поток: сотни сайтов в Интернете, десятки периодических изданий, огромное количество художественных текстов, несколько защищенных диссертаций. Тем не менее все это информационное поле до сих пор хаотично: отсутствуют общепринятые термины, понятные любому, равно как и установленная раз и навсегда структура. Поэтому каждому следующему автору приходится выкручиваться, используя ролевой сленг и проговаривая определения каких-то ключевых понятий, дабы говорить с читателем на одном языке.
Мы поступим точно так же. Для дальнейшего понимания текста нам придется разграничить два понятия: ролевые игры и живые ролевые игры.