Разработка и создание программы компьютерного тестирования

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    294,14 Кб
  • Опубликовано:
    2016-09-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка и создание программы компьютерного тестирования

Белинский филиал Государственного автономного образовательного учреждения Пензенской области «Каменский техникум промышленных технологий и предпринимательства»








ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Тема: Разработка и создание программы компьютерного тестирования по ПМ.01 «Разработка программных модулей программного обеспечения для компьютерных систем»


Выполнил:

студент группы 3 «Б» 4 курса

специальности 230115 «Программирование в компьютерных системах»

Научный руководитель:





Белинский, 2016

Введение

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

Современная система образования все активнее использует информационные технологии и компьютерные телекоммуникации. Особенно динамично развивается система дистанционного образования, чему способствует ряд факторов, и, прежде всего - оснащение образовательных учреждений мощной компьютерной техникой и развитие сообщества сетей Интернет. В этом и состоит актуальность данной темы.

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

Стремительное развитие информационно-коммуникационных технологий вызывает необходимость прогнозирования дальнейшего развития и его внедрения в сферу образования.

Очень актуальным становится использование учебными заведениями различных систем компьютерного тестирования. Широкое распространение получили системы для учителей, которые представляют собой комплекс аппаратных и программных средств, предназначенных для управления различными процессами в рамках образовательного процесса. Проблемой настоящей работы обусловлена тем что, системы компьютерного тестирования относятся к классу сложных систем для разработки, в связи с многозначностью структурных отношений между их компонентами и необходимостью создания таких систем.

Объектом исследования является системы компьютерного тестирования, используемые для контроля знаний.

Предметом исследования является разработка тестовой оболочки в среде Ren`Py.

Цель выпускной квалификационной работы создать систему компьютерного тестирования для контроля знаний.

Для достижения поставленной цели необходимо выполнить ряд задач:

рассмотреть интернет источники и литературу по данному вопросу.

выполнить постановку задачи, разработать модель данных;

рассмотреть вопросы проектирования программного средства;

изучить и проанализировать предметную область;

создать эскизный проект;

выбрать программные средства для реализации проекта;

изучить проблемы, возникающие при создании тестовой оболочки в среде Ren`Py.

Построение единой информационной среды является одной и приоритетной задачей, которую в рамках развития процессов информатизации решает каждое образовательное учреждение.

Материалы выпускной квалификационной работы могут способствовать уменьшению трудоемкости работы учителя предметника, а также автоматизации их работы при контроле и систематизации знаний умений и навыков по учебной дисциплине.

Глава 1. Обоснование разработки системного проекта тестирующей системы

.1 Обследование объекта и обоснование необходимости систем компьютерного тестирования

Компьютерная технология тестирования используется в вузах, школах и других учебных заведениях для текущего контроля знаний, приема зачетов и экзаменов.

В настоящее время используются в основном бланочно-компьютерная и компьютерная (автоматизированная) технологии тестирования. В первом случае тестируемый получает тест и опросный лист. В опросном листе по каждому заданию он ставит метку тот квадрат, который соответствует порядковому номеру правильного варианта ответа. Данные опросного листа с помощью сканера и соответствующей программы считываются в ЭВМ где в последствии происходит их обработка и в соответствии с определенными критериями выставляет оценку, печатает результаты. Во втором случае тестируемый читает задания теста на мониторе ЭВМ, вводит ответы с клавиатуры, указывает щелчками мыши, результаты выводятся на экран или печать.

Бланочно-компьютерная технология используется, например, для государственного централизованного тестирования выпускников школ, гимназий, лицеев, проводимого Центром тестирования выпускников общеобразовательных учреждений при Московском педагогическом государственном университете.

Система компьютерного тестирования знаний

Автоматизированная программа тестирования знаний обучающихся, предназначена для:

внедрения в учебный процесс элементов дистанционного обучения,

удешевления процесса обучения,

упрощения контроля знаний,

ускорение процесса проверки знаний,

повышения объективности при оценке знаний,

уменьшения субъективности в оценке знаний.

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

Тестирование знаний обучающихся (школьников, учащихся, абитуриентов, студентов, курсантов, аспирантов) может происходить индивидуально, группой.

Системы компьютерного тестирования (СКТ) обеспечивают разработку программ-тестов в различных предметных областях. Для проверки знаний по техническим и другим дисциплинам применяются графические или мультимедийные задания.

СКТ позволяют автоматизировать не только оценку теоретических знаний, но и умений решать расчетные практические задачи. Например, может быть реализована подготовка задач с генерируемыми переменными. В задаче указываются пределы изменений значений переменных и формула (формулы) расчета. При тестировании обучаемые с помощью встроенного калькулятора будут решать однотипную задачу с разными значениями переменных (сгенерированными в заданных пределах), что исключает подбор правильного ответа, списывание.

Применение компьютерного тестирования обеспечивает объективность оценки знаний на основе единых требований (стандартов) - международных, национальных, отраслевых, вузовских. Это особенно важно для выпускных и квалификационных экзаменов (получение лицензий, аттестатов) аудиторов, банковских работников, экспертов и других специалистов.

Сценарий теста вводится в ЭВМ с помощью специальной программы, называемой конструктором (дизайнером) тестов. Входящий в систему компьютерного тестирования конструктор тестов позволяет в диалоговом режиме ввести данные титула сценария, тестовые задания с эталонными ответами, инструкцию, выбрать из предлагаемых вариантов необходимые параметры теста, изменить предлагаемые настройки. Можно, например, изменить предлагаемую программой шкалу оценок. Выбирая (устанавливая) те или иные параметры, можно сформировать разные варианты теста, в т.ч. контрольно-обучающие.

В тесте рекомендуется использовать задания одной формы, допускается также сочетание разных форм заданий.

В зависимости от назначения теста и возможностей системы компьютерного тестирования в сценарий могут быть включены и другие части, дополнены параметры теста и заданий. Например, кроме рассмотренных выше четырех частей сценария теста системы компьютерного тестирования позволяют включить список литературы, учебно-справочный материал по тесту. Краткий конспект, статистические данные, нормативы и т.п. предназначены для самообучения, самоконтроля (тренинга). При работе в контрольно-обучающем режиме студент, отвечая на задание, может обратиться к данному учебно-справочному материалу.

Если тест предназначен для использования в контрольно-обучающем режиме, то по заданию может быть разрешено 2 или 3 попытки ответа. По умолчанию при компьютерном тестировании дается только одна попытка ответа на задание. Следует отметить, что обычно разрешение на повторный ответ на задание дается при установлении в «Параметрах теста» порядка предъявления заданий «В порядке, выбираемом обучаемым». При компьютерном тестировании обучаемый из общего списка заданий сам выбирает, на какие отвечать в первую очередь. Как и при письменном тестировании, обучаемый нередко сначала отвечает на легкие, а потом на трудные (сложные) задания.

При выставлении оценки по четырех балльной или зачетной системе по соответствующей шкале за правильный ответ на задание условно по умолчанию дается 1 балл, за неверный ответ - ноль. Задания могут отличаться по трудности (сложности), но предполагается, что все обучаемые находятся в равных условиях, отвечая на относительно большое количество одних и тех же простых и трудных заданий.

Оценка может определяться и по сумме набранных баллов при соответствующем назначении их количества за верный ответ по каждому заданию в зависимости от уровня трудности.

.2 Разработка технического задания для создания информационной системы

Техническое задание - исходный документ на проектирование технического объекта (изделия) ТЗ устанавливает основное назначение разрабатываемого объекта, его технические характеристики, показатели качества и технико-экономические требования, предписание по выполнению необходимых стадий создания документации (конструкторской, технологической, программной и т. д.) и её состав, а также специальные требования.

Техническое задание также используется при создании творческого объекта (видеоролик, статья, графическое изображение, сайт).

Техническое задание является юридическим документом - как приложение включается в договор между заказчиком и исполнителем на проведение проектных работ и является его основой: определяет порядок и условия работ, в том числе цель, задачи, принципы, ожидаемые результаты и сроки выполнения. То есть должны быть объективные критерии, по которым можно определить, сделан ли тот или иной пункт работ или нет.

Все изменения, дополнения и уточнения формулировок ТЗ обязательно согласуются с заказчиком и им утверждаются. Это необходимо и потому, что в случае обнаружения в процессе решения проектной задачи неточностей или ошибочности исходных данных возникает необходимость определения степени вины каждой из сторон-участниц разработки, распределения понесенных в связи с этим убытков.

Техническое задание, как термин в области информационных технологий - это юридически значимый документ, содержащий исчерпывающую информацию, необходимую для постановки задач исполнителям на разработку, внедрение или интеграцию программного продукта, информационной системы, сайта, портала либо прочего ИТ сервиса.

Техническое задание позволяет:

исполнителю - понять суть задачи, показать заказчику «технический облик» будущего изделия, программного изделия или автоматизированной системы;

заказчику - осознать, что именно ему нужно;

обеим сторонам - представить готовый продукт;

исполнителю - спланировать выполнение проекта и работать по намеченному плану;

заказчику - требовать от исполнителя соответствия продукта всем условиям, оговорённым в ТЗ;

исполнителю - отказаться от выполнения работ, не указанных в ТЗ;

заказчику и исполнителю - выполнить попунктную проверку готового продукта (приёмочное тестирование - проведение испытаний);

избежать ошибок, связанных с изменением требований (на всех стадиях и этапах создания, за исключением испытаний).

За время разработки системного проекты было разработанно техническое задание:

Техническое задание на разработку тестирующего программного обеспечения по модулю ПМ.01 «Разработка программных модулей программного обеспечения для компьютерных систем»

) Общее положение

.1) Наименование программы

.2) Назначение и область применения

Программа предназначена для тестирования учащихся, студентов и др. в области языков программирования, web-дизайна,

) Требования к программе

.1) Требования к функциональным характеристикам

Программа должна обеспечивать возможность выполнения перечисленных ниже функций:

.1.1) Разделение видов тестирования на группы:

.1.1.1) Самоконтроль знаний

.1.1.2) Тестирование с оценкой

.1.1.3) Экзамен

.1.2) Возможность запроса оценки после выполнения тестирования

.1.3) Проверка прохождения задания перед выводом оценки

.2) Требования к надежности

.2.1) Требования к обеспечению надежного функционирования программы

Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:

а) организацией бесперебойного питания технических средств;

б) использованием лицензионного программного обеспечения;

в) регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;

г) регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов

.2.2) Время восстановления после отказа

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

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

.2.3) Отказы из-за некорректных действий пользователей системы

Отказы программы вследствие некорректных действий пользователя при взаимодействии с программой недопустимы.

) Условия эксплуатации

.1) Климатические условия эксплуатации

Климатические условия эксплуатации, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации

.2) Требования к квалификации и численности персонала

Минимальное количество персонала, требуемого для работы программы, должно составлять не менее 2 штатных единиц - преподаватель и конечный пользователь программы - оператор (студент). Системный администратор должен иметь высшее профильное образование. В перечень задач, выполняемых преподаватель, должны входить:

а) задача поддержания работоспособности технических средств;

б) задачи установки (инсталляции) и поддержания работоспособности системных программных средств - операционной системы;

в) задача установки (инсталляции) программы.

.3) Требования к составу и параметрам технических средств

.3.1) В состав технических средств должен входить IВМ-совместимый персональный компьютер (ПЭВМ), выполняющий роль сервера, включающий в себя:

.3.1.1) процессор Pentium-2.0Hz, не менее;

.3.1.2) оперативную память объемом, 1Гигабайт, не менее;

.3.1.3) HDD, 40 Гигабайт, не менее;

.3.1.4) операционную систему Windows XP/Vista/7/8/10 или старше

.4) Требования к информационной и программной совместимости

.4.1) Требования к исходным кодам и языкам программирования

Дополнительные требования не предъявляются.

.4.2) Требования к программным средствам, используемым программой

Системные программные средства, используемые программой, должны быть представлены лицензионной локализованной версией операционной системы Windows XP/Vista/7/8/10.

.4.3) Требования к защите информации и программ

Требования к защите информации и программ не предъявляются.

) Требования к программной документации

.1) Предварительный состав программной документации

Состав программной документации должен включать в себя:

.1.1) техническое задание;

.1.2) программу;

.1.3) руководство оператора;

) Технико-экономические показатели

.1) Экономические преимущества разработки

Ориентировочная экономическая эффективность не рассчитываются. Аналогия не проводится ввиду уникальности предъявляемых требований к разработке.

) Стадии и этапы разработки

.1) Стадии разработки

Разработка должна быть проведена в три стадии: ) разработка технического задания; ) рабочее проектирование; ). внедрение.

.2) Этапы разработки

На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания.

На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

) разработка программы;

) разработка программной документации;

) испытания программы.

На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы.

.3) Содержание работ по этапам

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

) постановка задачи;

) определение и уточнение требований к техническим средствам;

) определение требований к программе;

) определение стадий, этапов и сроков разработки программы и документации на неё;

) согласование и утверждение технического задания.

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

На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:

) разработка, согласование и утверждение и методики испытаний;

) проведение приемо-сдаточных испытаний;

) корректировка программы и программной документации по результатам испытаний.

На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию на объектах Заказчика.

) Порядок контроля и приемки

.1) Виды испытаний

Приемо-сдаточные испытания должны проводиться на объекте Заказчика в оговоренные сроки.

Приемо-сдаточные испытания программы должны проводиться согласно разработанной Исполнителем и согласованной Заказчиком Программы и методик испытаний.

Ход проведения приемо-сдаточных испытаний Заказчик и Исполнитель документируют в Протоколе проведения испытаний.

.2) Общие требования к приемке работы

На основании Протокола проведения испытаний Исполнитель совместно с Заказчиком подписывает Акт приемки-сдачи программы в эксплуатацию.

.3 Анализ существующих разработок и обоснование выбора технологии проектирования

Несложно заметить, что тесты на различных этапах обучения могут использовать некие общие элементы (вопрос и ответ, например), а другие элементы (такие как комментарий) добавляются опционально в зависимости от конкретной задачи теста в учебном процессе. Значит, следует организовать разработку тестов таким образом, чтобы избегая дублирования, создать множество различных приложений на базе неких простых строительных конструкций.

Ответ должен быть формально предопределен шаблоном. Это определяет и форму, с которой тестируемый будет взаимодействовать. Выбор шаблонов ограничен рамками движка RenPy.

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

только с одним правильным ответом (студент ставит отметку в одном из кружочков);

с одним или несколькими правильными ответами (студент ставит отметку в одном или нескольких квадратиках).

Альтернативный вопрос (Верно / Неверно). Ответ на этот вопрос студент выбирает из двух вариантов: Верно или Неверно.

Числовой вопрос. Ответом на вопрос является число, которое студент должен ввести с определенной точностью, заданной преподавателем. При этом также может указываться одна или несколько единиц измерения (кг, г, мг; см, м, км и т.п.).

Вычисляемый вопрос. Идентичен числовому вопросу, но здесь преподаватель задает ответ не в виде числа, а в виде формулы, числовые данные для которой случайным образом выбираются из специального набора данных (таблицы вариантов), который формируется вручную или автоматически - встроенным в программу генератором случайных чисел.

Описание. Этот тип вопроса на самом деле не является вопросом. Все что он делает - отображает некоторый текст, не требующий ответов. Его можно использовать, чтобы отобразить описание следующей группы вопросов. Описание не оценивается.

Эссе. В ответ на этот вопрос обучаемый должен ввести письменный ответ. Это единственный тип вопросов, которые требуют ручного оценивания преподавателем.

Многочисленные сообщения преподавателей показывают, что студенты в классах испытывают все более увеличивающийся стресс. В корне этой проблемы, как отмечают некоторые исследователи, лежит школьная практика ранжирования студентов по результатам тестов.

Общие признаки «экзаменационного стресса»: нарушение режима сна, усталость, раздражительность, нерегулярные приемы пищи, увеличенная подверженность инфекциям, невозможность сконцентрироваться.

Интенсивное «отвечание на вопросы» некорректно с точки зрения преподавания, поскольку уменьшает мотивацию учеников. Исследователи отмечают, что студенты учат только то, что может быть протестировано, и игнорируют всю другую информацию. В результате для учащихся сдать тест более важно, чем понимание сути предметов. Получение высокого балла становится главной целью образования.

Распространение тестирования в образовательной системе под вывеской отчетности может привести к ошибочным результатам. Методические отделы будут разрабатывать все новые тесты, учащиеся будут показывать все лучшие результаты, но ценой за это будет сужение круга знаний, ограничение успешности обучения.

Путь к решению этих проблем лежит в повышении интерактивности учебного курса, применения игрового формата и привлечения средств мультимедиа.

К сожалению, большинство программ электронного обучения состоит из набора перелистываемых экранов, что совершенно равнозначно перелистыванию страниц в книге. Такую разновидность курсов ждет быстрое и справедливое наказание - отказ пользователей от данной программы. Ирония состоит в том, что именно онлайновое обучение наилучшим образом приспособлено к интерактивности и с малыми затратами может обеспечить гораздо большую увлекательность, по сравнению с традиционным обучением. Большинство экспертов подтверждают, что интерактивность - наилучший путь к реализации таких, столь необходимых взрослому ученику процессов, как самооценка и самокоррекция.

Итак, всем понятно, что интерактивность - это ключ к успешности онлайновой программы. Но как вам ее обеспечить? Здесь мы приводим некоторые размышления, которые помогут вам в начале пути.

Одна из наиболее распространенных форм интерактивности в современном дизайне курсов - игровой сценарий. Популярные телевизионные игры, такие как «Кто хочет стать миллионером», очень распространены и обычно используются на простейших когнитивных уровнях рассмотрения содержимого. Если сравнить с обычными тестами, то в игровых шоу актуальны анимированные вопросы «да/нет», выбора одного из многих и заполнения бланков. И, если вы захотите уйти от стандартного чтения экранов, можно увеличить интерес, создавая некоторые предисловия, которые будет увлекать учащихся, сообщая им элементы новой информации.

Заполнение бланков - другой тип потенциально скучного упражнения, пока в него не добавить графики и преподнести в форме игры.

Выбор из многих вариантов. Этот тип вопроса очень эффективен для тестирования знаний, понятия концепций и так далее, поэтому он часто используется в официальном тестировании. Но, будучи подкрепленным технологией, может быть прежде всего, очень действенным поддерживающим упражнением.

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

На основании вышеперечисленного можно сделать вывод.

Тестирование - более справедливый метод, оно ставит всех учащихся в равные условия, как в процессе контроля, так и в процессе оценки, практически исключая субъективизм преподавателя.

Компьютерные тесты положительно воспринимаются учащимися. Преимуществом компьютерного тестирования является автоматическая проверка результатов и исключение влияния человеческого фактора. Еще одним преимуществом компьютерных тестов является то, что в процессе проверки знаний студенты видят в преподавателе не оппонента, а союзника.

Недостатком многих видов тестирования является то, что разработка качественного тестового инструментария - длительный, трудоемкий и дорогостоящий процесс. Данные, получаемые преподавателем в результате тестирования, хотя и включают в себя информацию о пробелах в знаниях по конкретным разделам, но не позволяют судить о причинах этих пробелов.

Любой тест не позволяет проверять и оценивать высокие, продуктивные уровни знаний, связанные с творчеством, то есть вероятностные, абстрактные и методологические знания.

ГЛАВА 2. Разработка и реализация проектных решений

.1 Выбор технического и программного обеспечения

Для разработки программного обеспечения было выбран движок Ren`Py программа компьютерный тестирование знание’Py (от ren и Python) - это бесплатный, свободный и открытый движок для создания как некоммерческих, так и коммерческих визуальных романов (графических квестов с диалоговой системой) в 2D-графике. Поддерживает платформы Windows 2000+ (x86), Linux (x86, glibc 2.3+) и Mac OS X 10.4+ (x86 и ppc), также запуск игр поддерживается на Android (2.0+, с OpenGL ES 2.0) и iOS(сборка с использованием Ren’iOS). Свыше 900 прогрпмм используют движок Ren’Py, подавляющее большинство игр на английском языке. Автором данного движка является PyTom.’Py распространяется бесплатно. Авторы движка просят создателей игр внести игру в общий каталог на сайте разработчика.[2] Также обязательным условием бесплатного использования этого движка является упоминание имён авторов в титрах игры. Ren’Py является программой с открытым исходным кодом и может быть свободно модифицирован и использован как для некоммерческих, так и коммерческих целей. Созданным на нём играм быть с открытыми исходными кодами не обязательно.

Создание простых игр в данном конструкторе по сложности доступно для любого желающего, но для более сложных игр необходимо изучить и применять скриптовый язык Python: есть возможности для создания оригинальной манги, в том числе подключение видео и использование различных спецэффектов на движке; также можно подключать мини-игры, системы подсчёта параметров для усложнения игрового процесса.

По умолчанию Ren’Py уже настроен на создание типичной игры жанра визуальных романов содержащей:

главное меню с возможностью настройки, сохранения и загрузки игры;

автоматическое сохранение игры;

откат, для возвращения ранее показанного экрана;

интеллектуальную загрузку изображений, которая загружает изображения в фоновом режиме, что предотвращает задержки во время игры;

поддержку управления игрой при помощи мыши, клавиатуры или геймпада (джойстика);

полноэкранный и оконный режим;

возможность пропускать текст при воспроизведении, в том числе возможность показывать только текст, который не был показан ранее;

автоматическую прокрутку текста без использования клавиатуры, что может быть удобно при больших объёмах текста;

возможность скрывать текст так, что пользователь может видеть изображения за ним;

способность самостоятельно изменить музыку, звуковые эффекты, и громкость голоса.

Графика и качество игры, созданной в данном конструкторе, зависит в большей степени от авторских умений рисовать.

Также движок дает возможность:

представлять текст как в ADV, так и в NVL-стиле;

настроить практически любой элемент интерфейса.

На официальном сайте имеется русскоязычная поддержка, краткое описание и тестовый пример на русском языке.

.2 Разработка проектных решений по системе и её частям

Перед началом разработки необходимо скачать и установить пакет программного обеспечения с официального сайта разработчика

После установки необходимо запустить центр управления Ren’Py. Для этого нужно запустить renpy.exe (renpy.sh для пользователей Линукса) из папки, в которой распакован архив с ним. В левом верхнем углу белым будет написано название активного проекта. Справа - ряд кнопок, поделённый на две секции.

Рис. 1 - Центр управления Ren`Py

«Текущий проект» («This project» в английской версии - Команды для текущего проекта), состоящую из команд

«Запуск» («Launch» - запустить проект на исполнение),

«Править скрипт» («Edit Script» - Редактировать код проекта),

«Сменить тему» («Change Theme» - Сменить цветовую схему оформления проекта),

«Папка игры» («Game Directory» - Открыть папку текущего проекта (всё, относящееся к проекту - код, ресурсы - должно лежать в ней))

секцию «Сменить проект», состоящую из команд

«Выбрать проект» («Change Project» - Смена активного проекта, позволяет переключаться между созданными проектами. В поставку Ren’Py изначально входят проекты demo (демонстрация возможностей движка) и the_question (простейшая законченная визуальная новелла)) и

«Новый проект» («New Project» - Создание нового проекта).

При создании нового приложения выберем «Новый проект». ЦУ попросит выбрать шаблон проекта - выбираем template за неимением других опций. Затем ЦУ попросит ввести название проекта. Вводим. Следом ЦУ попросит выбрать цветовую схему оформления проекта. На вкус и цвет. В результате вернёмся в главное меню ЦУ с только что созданным проектом в качестве активного (обратите внимание на левый верхний угол). Можно запустить его кнопкой «Запуск», чтобы полюбоваться на интерфейс. Но лучше приступить к собственно написанию игры.

Приступая к написанию приложения выберем «Править скрипт». В результате файлы с кодом проекта откроются для редактирования во входящем в поставку Ren’Py редакторе SciTE. Редактор многовкладочный, поэтому трём имеющимся изначально (от шаблона) файлам «script.rpy», «options.rpy» и «localize.rpy» будут соответствовать три одноимённые вкладки. Нам в данный момент нужна та, что озаглавлена «script.rpy».

Самая первая строчка - это комментарий. Комментарием является любое сочетание символов, предварённое символом # и завершающееся с концом строчки. Комментарии не воспринимаются обработчиком и никак не отражаются в игре. Используются они для оставления каких-то пометок-пояснений себе. Или для временного исключения из обработки какой-либо строки.

Отступы и блоки - основа основ.

Рис. 2 - Изначальный текст файла script.rpy

Здесь надо пояснить базовую особенность языка Ren’Py: для определения контекста, к которому принадлежит строчка, используются отступы (конкретнее - сочетания из четырёх пробелов). Все строки, имеющие одинаковый (или больший) отступ, принадлежат одному контексту, или блоку. К примеру::

# Эта строка - в блоке init

# Так же, как и эта.:

# Эта строка и в блоке python, и в блоке init.

# То есть, в подобной ситуации невозможно быть в блоке python

# но не быть в блоке init.

# эта строка всё еще в блоке init, но уже не в блоке python.

# так что можно сказать, что блок python «закрыт», т.к. туда больше не может попасть

# ни одна строка.

# Эта строка НЕ в блоке init!

Зачем нужен блок init?

В любом проекте есть информация, такая как используемые изображения и персонажи, которая должна быть определенна до собственно начала истории. Такая информация объявляется в блоке init. Он может находиться в коде где угодно, но обычно его помещают в самое начало. Этот блок начинается со строчки::

Записанной без отступа, и все строчки с отступом, следующие за ней, принадлежат блоку init. Строчек этих может быть любое количество. Заканчивается блок первой же строкой БЕЗ отступа. И эта строка, конечно же, блоку init уже не принадлежит.

Дальше обратим внимание на строчку «label start:»

Это так называемая метка. Метки позволяют давать названия нужным местам текста, дабы потом можно было переместиться к ним откуда угодно (но об этом позже). Меткой является строчка без отступа, начинающаяся с ключевого слова label и заканчивающаяся двоеточием. Слово, следующее за label - название метки. Название метки не должно содержать пробелов! (Но, как известно, настоящие_программисты_пробелом_не_пользуются ;-)). Также, название метки должно быть уникальным в рамках всего проекта! Существует специальная метка, необходимая в любом коде Ren’Py: label start: . Она обозначает место начала текста игры.

Можно приступать к работе. Для начала отчищаем блок init и всё в блоке label start. Теперь нам нужно заставить Ren’Py сказать первую реплику. Для этого в блоке label start напишем просто:

"Интернациональный Колледж Цифровых Искусств."

Подобная конструкция называется «высказывание» (say statement). Ren’Py автоматически осуществляет перевод строки, если выведенное высказыванием в текстовое окно сообщение в одну строчку не вмещается. Но если есть нужда перейти на новую строку в каком-то определённом месте, то в этом месте нужно поставить сочетание символов \n. Вот так:

"Мне повезло, что я учусь здесь. \nОсобенно, что на игровом направлении."

Каждое высказывание обновляет содержимое текстового окна.

Если в тексте высказывания необходимо использовать двойные кавычки " их необходимо предварить символом \. Вот так:

"Сейчас по расписанию \"Визуальные новеллы\". Новый курс. Интересно, о чём же нам там поведают?"

Если сейчас сохранить изменения, запустить проект и выбрать «Начать игру», увидим этот текст в текстовом окне. На фоне чёрного экрана. Не особо хорошо, не правда ли? Что ж, добавим фоновый рисунок. Но для этого изображение, что послужит фоном, сначала нужно объявить в блоке init. Получим в итоге следующий скрипт::bg uni = "uni.jpg"start:

"Интернациональный Колледж Цифровых Искусств."

"Мне повезло, что я учусь здесь. \nОсобенно, что на игровом направлении."

"Сейчас по расписанию \"Программирование\". Новый курс. Интересно, о чём же нам там поведают?"

Объявление изображения - вторая строчка. Сначала идёт ключевое слово image, затем псевдоним (внутреннее имя изображения), затем знак равно, затем имя файла с изображением, внутри двойных кавычек. Предполагается, что файл с изображением лежит в рабочей папке проекта (доступна по выбору «Game Directory» в ЦУ). Можно также завести отдельную папку для изображений, в рабочей папке проекта, но тогда имя этой папки нужно будет дописать перед именем файла. Например, если изображения лежат в подпапке Images рабочей папки проекта, объявление изображения будет вида:

image bg uni = "Images/uni.jpg"

Фоновые изображения должны быть того же размера, что и выбранное для игры разрешение. По умолчанию - 800х600 пикселей, наверное, самое удобное. Формат файла для фоновых изображений - JPEG или PNG. Теперь выведем это изображение в виде фона перед тем, как выводить текст. Для этого на следующей после label start строчке напишем (сдвинув высказывания на строчку вниз):bg uni

Сначала идёт ключевое слово scene, затем псевдоним изображения, которое нужно использовать как фон. Смена фона на другой также производится этой командой. При применении команды в таком виде предыдущее фоновое изображение вместе со всеми прочими визуальными элементами немедленно заменяется на указанное в команде. Однако процесс перехода можно сопроводить эффектами. В Ren’Py есть ряд предопределенных эффектов, например fade («упрозрачнивает» старое изображение в чёрный фон за полсекунды, затем «упрозрачнивает» за полсекунды чёрный фон в новое изображение), dissolve («растворяет» старое изображение в новое за полсекунды) и pixellate (пикселизует за полсекунды старое изображение, затем за полсекунды распикселизует новое). Для применения эффекта надо только приписать к нужной команде вывода изображения ключевое слово with и название нужного эффекта. Проще это увидеть самому. Потому выведем этот фон с эффектом dissolve. А после высказываний сменим фон на другой с эффектом fade. Надо только не забыть объявить изображение в блоке init. Получим такой скрипт:

init:bg uni = "Images/uni.jpg"bg lecturehall = "Images/class.jpg"start:bg uni with dissolve

"Интернациональный Колледж Цифровых Искусств."

"Мне повезло, что я учусь здесь. \nОсобенно, что на игровом направлении."

"Сегодня начинается курс \"Визуальные новеллы\". Интересно, о чём же нам там поведают?".bg lecturehall with fade

Чтобы следующая реплика - мысленная речь героя - как-то выделялась. Например, вывелась курсивом. Для подобной операции Ren’Py использует тэги, наподобие html, только с фигурными скобками вместо угловых. Так, текст, заключенный между тэгами {i} и {/i} будет курсивным, между {b} и {/b} - полужирным, а между {u} и {/u} - подчёркнутым. Также, тэги {size=<число>} … {/size} управляют размером заключённого в них текста (если <число> = число без знака, то заключённый в данные тэги текст будет размером в указанное число пикселей; если же <число> = число, предварённое знаком «+» или «-», то движок воспримет это как команду к увеличению или уменьшению размера шрифта для заключённого в теги текста на указанное число пикселей относительно размера по умолчанию). Наконец, текст, заключённый в теги {color=#rrggbb} и {/color}, будет изображён указанным цветом. #rrggbb - строка-идентификатор цвета формата RGB в виде стандартного шестнадцатеричного триплета. rr, gg и bb - соответственно интенсивности красной, зелёной и синей составляющей цвета. Могут принимать любое значение от 00 (нет этой составляющей цвета) до ff (255, максимум интенсивности). Так, #000000 = чёрный, #ffffff = белый, #ff0000 = ярко-красный, #0000ff = ярко-синий, а #аааа00 = ярко-жёлтый. Подобное представление цвета широко используется в Ren’Py, с ним нам ещё предстоит столкнуться. Важно: закрываются теги в порядке, обратном порядку открытия! Ладно, нам нужен был курсив. Потому пишем:

"{i}Преподаватель опаздывает.{/i}"

Дальше идут простые высказывания, описывающие ситуацию - в зал вошла преподавательница. Но вот она обращается к нам, и в соответствующем высказывании неплохо было бы как-то её назвать, показывая, что реплика - от её имени. Поскольку имени её мы не знаем, обозначим её как «???». Для этого используется следующий формат высказывания:

"???" "Здравствуйте! Простите за эту задержку."

"???" "Я - профессор Наталь, и я буду вести у вас курс \"Визуальные Новеллы\"."

Эти реплики выведутся со строкой «???» вверху текстового окна. Важно: если в первой строке (т.е. между первыми и вторыми двойными кавычками) используются русские буквы, то её необходимо предварить английской буквой ю («u»)! Так, если нужно вывести реплику главного героя - от первого лица - то высказывание будет выглядеть так:"Я" "Реплика!"

Вообще говоря, символом u следует предварять любую строку, содержащую символы кириллицы, но опыт показывает, что текст реплики в высказывании в подобном не нуждается.

Так, теперь, когда нам известно имя преподавателя, указывать его как «???» нельзя, а каждый раз набирать «Профессор Наталь» неудобно. Здесь на помощь приходят такие объекты Ren’Py, как «персонажи» (character object). Персонажи позволяют использовать в именных высказываниях вместо длинных имён короткие псевдонимы. Но сначала персонаж нужно объявить в блоке init. Делается это следующей строчкой:

$ eileen = Character(u'Эйлин')

Сначала идёт знак доллара, затем псевдоним персонажа, затем знак равно, ключевое слово Character и аргументы в скобках. В данном случае - имя персонажа (в кавычках), которое будет отображаться во всех его репликах. (Обратите внимание, поскольку имя персонажа дано кириллицей, его необходимо предварить символом u) Для облегчения написания кода псевдоним персонажа лучше делать как можно короче. Чаще всего имена персонажей выделяют цветом. Для этого нужно добавить в объявление персонажа аргумент color:

$ e = Character(u'Эйлин', color="#c8ffc8")

Также можно заставить все реплики этого персонажа выделяться определённым цветом. Для этого нужно добавить в объявление персонажа аргумент what_color:

$ e = Character(u'Эйлин', color="#c8ffc8", what_color="#c8ffc8")

Можно также автоматически применять теги ко всему тексту всех реплик персонажа. Для этого нужно добавить в объявление персонажа аргументы what_prefix со строкой открываемых тегов и what_suffix со строкой закрывающих тегов. Так, чтобы выделить всё, что скажет Эйлин жирным и курсивом, нужно записать:

$ e = Character(u'Эйлин', color="#c8ffc8", what_prefix = "{b}{i}", what_suffix = "{/i}{/b}")

Правда, лучше было бы это реализовать с помощью аргументов стиля:

$ e = Character(u'Эйлин', color="#c8ffc8", what_bold = True, what_italic = True)

Вообще, строка-значение аргумента what_prefix перед обработкой реплики приписывается движком к началу текста реплики, а строка-значение аргумента what_suffix - к концу. Персонажи ещё много чего могут, но мы сейчас ограничимся наиболее часто используемым минимумом:

$ p = Character(u'Профессор Наталь', color="#ff6666")

Теперь все высказывания вида"Прежде всего, что такое \"визуальная новелла\"?"

будут выводиться от имени профессора Наталь.

Самый часто используемый метод - меню. Перед игроком возникают несколько вариантов реакции (например, варианты реплики в разговоре, или варианты действия в игровой ситуации), игрок выбирает один, и от этого выбора зависит дальнейшее течение повествования. В Ren’Py меню реализуются так: :

Сначала идёт строчка открывающая блок, т.е. все последующие строчки до конца меню идут с отступом на четыре пробела больше. Дальше может быть строчка-сообщение, которое будет находиться в текстовом окне, когда меню на экране. Это простое высказывание. Затем идут варианты меню - строки, заканчивающиеся двоеточием. Каждый вариант открывает свой блок, в котором записываются результаты выбора этого варианта.

Если реакции для какого-то пункта меню вообще не предусматривается, то есть данный пункт ничего не делает, в его блоке следует написать pass, как это сделано в примере с пунктом №2. Варианты могут быть любой длины, и их может быть любое число, главное, чтобы они все поместились на экране. Результаты выбора пункта меню также могут содержать любое число строк и состоять из любых команд, в том числе и из других меню.

Довольно часто возникает необходимость запоминать, какой выбор сделал игрок, дабы припомнить это ему позднее. Как в данном случае, если игрок задал вопрос о том, как визуальная новелла выглядит с точки зрения игрока, и профессор ему это объяснила, то когда она будет говорить про реализацию визуальных новелл, неплохо было бы, чтобы она заметила, что повторяется. Это можно сделать с помощью переменных. Надо завести логическую переменную (подобная переменная может принимать два состояния - истинно и ложно) и придать ей значение истинно, если вопрос задан (т.е. в результатах выбора варианта меню с вопросом) и ложно, если вопрос не задан. Ren’Py не требует предварительного объявления переменных, то есть их можно вводить просто по ходу скрипта. Но для удобства перед началом работы всем используемым переменным стоит присвоить начальные значения (скажем, ноль для цифровых, ложно для логических, хотя это сильно зависит от того, как эти переменные будут использоваться в дальнейшем). Это можно сделать сразу после метки старта, или вообще в блоке init (но лучше - после метки старта). Присваивается переменной значение так:

$ question_asked = False

Сначала знак доллара и пробел, затем имя переменной (одно слово, т.е. без пробелов) затем символ присвоения - знак равно, затем присваиваемое значение (в данном случае, False - «ложно»; «истинно» будет True). C цифровыми и строковыми переменными обращаются так же:

$ ppoints = 0

С помощью цифровых переменных организуются концовки, базирующиеся на очках. Скажем, если игрок к исходу новеллы набрал менее половины из возможных очков, его ждёт плохая концовка, если более половины, но не все, то хорошая, а если все возможные, то наилучшая. Или, концовка зависит от того, какая из нескольких переменных имеет наибольшее значение (Скажем, в переменных хранятся значения атрибутов - силы, ума и удачи. Если наибольшее значение имеет атрибут силы, то игрок стал чемпионом мира по тяжёлой атлетике. Если ум, то игрок получил Нобелевскую премию по всем наукам. Если же удача, то игрок выиграл в лотерею миллиард рублей. И ещё какие-нибудь концовки в случае ничьих).

В нашем случае мы воспользуемся логической переменной для отметки, был ли задан вопрос, и цифровой для хранения набранных игроком очков. Присвоим им начальные значения (False и 0 соответственно) в блоке init. В блоке результатов выбора пункта меню с вопросом присвоим логической переменной значение True (тогда если игрок выбрал другой пункт меню, логическая переменная останется с False). В этом же блоке заведём ещё меню (скажем, преподаватель спрашивает игрока, как он сам считает, каков ответ на его вопрос) и в блоке результатов пункта меню с правильным ответом увеличим значение цифровой переменной на единицу. Делается это следующей строчкой:

$ ppoints += 1

Знаки плюс-равно означают «прибавить к текущему значению данной переменной число, стоящее справа». Это может быть любое число, не только единица. Если нам нужно было бы уменьшить значение переменной, нужно было бы использовать вместо += знаки -= (минус-равно). А вот если… Позднее, когда профессор говорит о составляющих визуальной новеллы и повторяет сказанное в ответе на вопрос игрока, нам нужно проверить значение логической переменной и если её значение - «истинно», то вывести реплику вроде «Что я, впрочем, уже говорила.». Проверяются значения переменных конструкцией «Если-То-Иначе», которая выглядит так:<условие>:"Блок выполняющийся, если условие истинно.":"Блок выполняющийся, если условие ложно."

Если в случае, если условие ложно, делать ничего не нужно, то else со своим блоком просто не пишут.

Можно также создать цепочку проверок, каждая следующее из которых осуществляется, только если все предыдущие оказались ложны:<условие 1>:"Блок выполняющийся, если условие 1 истинно."<условие 2>:"Блок выполняющийся, если условие 1 ложно""а условие 2 истинно."<условие 3>:

<...>:"Блок выполняющийся, если все условия ложны."

В качестве условия может выступать равенство значений (переменная == значение, или переменная1 == переменная2 (используются два знака равно), или неравенство (больше либо равно: «переменная >= значение»; строго больше: «переменная > значение»; меньше либо равно: «переменная <= значение»; строго меньше: «переменная < значение»). Условие может быть составным, т.е. состоять из нескольких элементарных (таких, как те, что были описаны только что), связанных между собой логическими операциями И (and или &&), ИЛИ (or или ||), Исключающее ИЛИ (xor). Также возможно использование операции логического отрицания (not). Также, в случае логических переменных вместо «имя_переменной == True» можно просто писать «имя_переменной» В нашем случае конструкция будет выглядеть так:question_asked: "Что я, впрочем, уже говорила."

Также, Ren’Py позволяет модифицировать состав меню в зависимости от значения переменных. Для этого в строчке нужного пункта меню после строки с текстом пункта, но до двоеточия нужно приписать if <условие>. Например, профессор снова делает паузу, и игрок вновь может задать вопрос. Создаём меню, один из пунктов которого - вопрос «какая из составляющих важнее», другой - «как визуальная новелла выглядит внешне», а третий - об интерактивности, но его можно задать, только если в первом меню был задан вопрос::

"Может, и правда, спросить?"

"Спросить, какая из составляющих важнее.":

"Я поднял руку, показывая, что у меня есть вопрос."

         <…>

"Спросить о реализации визуальной новеллы.":

"Я поднял руку, показывая, что у меня есть вопрос."

         <…>

"Спросить о её оговорке, связанной с интерактивностью." if gameplay_asked:

         <…>

Заодно в блоке результатов первого или второго пункта во второй раз увеличим значение цифровой переменной на единицу.

Вновь сделаем в одном из пунктов ещё одно меню. Но на этот раз не будем загромождать блок результатов пункта, а вынесем реализацию этого меню в другое место. И в нужный момент передадим туда управление, чтобы дальше новелла исполнялась с этого места кода. Для этого нужно во-первых обозначить нужное место меткой, а во-вторых перейти по этой метке. В Ren’Py возможно два варианта переходов: прыжок, когда управление просто передаётся на указанную метку и исполнение игры идёт с обозначенного меткой места, и вызов, когда управление передаётся на метку, а по окончании управление возвращается на строчку, следующую за вызовом. Нам, нужен именно вызов. Сначала пишем реализацию вынесенного куска скрипта, которую будем вызывать: после окончания меню, откуда будет идти вызов, пишем:submenu_priority:

<реализация>

Обратите внимание: Блок метки, в котором записана нужная нам реализация, нужно закончить ключевым словом return - эта команда и вернёт управление в точку вызова. Также, надо удостовериться, что обычным образом в этот блок игра никак не попадёт. Для этого как раз перед меткой submenu_priority сделаем конец игры. Осуществляется это той же командой return. Можно объяснить сей факт так: игра вызывается из главного меню и в конце возвращает управление туда. Теперь нужно выполнить сам вызов. Для этого в блоке результатов пункта меню, где надо осуществить вызов, пишем:submenu_priority

Только, когда вы закончите писать скрипт, если используете вызовы, обязательно запустите вспомогательный инструмент «Добавить From к Call’ам» из пункта «Инструменты» ЦУ Ren’Py! Без этого структура вызовов рискует не заработать в конечном варианте игры, что вы будете распространять.

Ну вот, работа со скриптом игры завершена. Теперь не мешало бы подправить разные мелочи, вроде заголовка окна или фона главного меню. За это и многое другое отвечает файл options.rpy. Все опции снабжены подробным комментарием. Первое, что нужно сделать, это поменять config.developer = True на config.developer = False. Это запретит пользователю применять приёмы, предназначенные для облегчения жизни разработчика, такие как быстрая перезагрузка игры по нажатию Shift+R или вывод значений всех переменных по нажатию Shift+D. Следующее, это установить нужный заголовок. Находим config.window_title и вписываем в кавычки нужное название. В нашем случае строчка будет выглядеть так:.window_title = u"Знакомство с Визуальными Новеллами"

Затем нужно установить фон для главного меню и внутриигрового меню (доступно во время игры по нажатию Esc). Для этого присваиваем строки с именами нужных файлов переменным mm_root и gm_root. В нашем примере:_root = "Images/uni.jpg"_root = "Images/uni.jpg"

Дальше стоит задать, будет ли игра иметь звуковое, музыкальное и голосовое сопровождение, присвоив значения True, если да, или False, если нет, следующим переменным: config.has_sound (звук), config.has_music (музыка) и config.has_voice (голос). Вообще, в этом блоке есть ещё и переменные, отвечающие за звуки интерфейса, но по умолчанию они закомменчены. Самая интересная - это config.main_menu_music, управляющая музыкой, которая должна играть в главном меню.

С помощью этой группы переменных можно поменять положение главного меню:

# style.mm_menu_frame.xpos = 0.5

# style.mm_menu_frame.xanchor = 0.5

# style.mm_menu_frame.ypos = 0.75

# style.mm_menu_frame.yanchor = 0.5

Если, конечно их раскомментить (убрать решётку).и ypos определяют точку на экране, а xanchor и yanchor - точку собственно главного меню, которая будет соответствовать точке привязки на экране. Если значения - целые числа, то это расстояние в пикселях от верхнего левого угла экрана и главного меню соответственно. Если же, как по умолчанию, десятичных дроби, то они воспринимаются как доли ширины и высоты экрана и главного меню соответственно.

Напоследок необходимо сказать ещё о двух переменных. Только их значения, по уму, следует устанавливать в самом начале работы над игрой. Ибо они контролируют разрешение экрана игры, от которого зависят размеры игровых изображений. config.screen_width устанавливает ширину экрана, а config.screen_height - высоту. Важно: стоит придерживаться стандартных расширений, иначе при переключении в полноэкранный режим могут быть глюки. По умолчанию установлено:

config.screen_width = 800.screen_height = 600

Вот, в сущности, и всё. Теперь осталось только хорошо протестировать игру, отловить все дырки в игровой логике и просто очепятки, и можно готовить к выпуску. Также необходимо не забыть запустить из пункта «Инструменты» ЦУ «Добавить From к Call’ам» («Add From to Calls»), если в игре используются вызовы (call) и «Проверить скрипт (Lint)», обнаруживающий шероховатости, могущие плохо сказаться на работе игры на некоторых платформах.

Когда игра готова идти «на золото», обязательно нужно удалить со всем содержимым папку saves в рабочей папке проекта (saves, кстати, генерируется каждый раз при запуске игры на исполнение, если её нет). Стоит также подготовить файлы license.txt (c пользовательским соглашением) и readme.txt (со всей прочей информацией, что вы хотели бы сообщить пользователю - аннотация к игре, управление, благодарности и приветы…). И ещё решить, будет ли проводиться прятанье ресурсов от конечного пользователя. Ren’Py позволяет убрать из открытого доступа изображения и «зашифровать» скрипт игры. Последнее делается при каждом запуске проекта на исполнение, в виде сборки любого .rpy-файла в его аналог расширением .rpyc. Эти файлы достаточны для работы игры, так что если не хотите, чтобы ваш скрипт кто-то видел, можете удалить после финального запуска проекта все файлы .rpy вместе с папкой saves. Изображения архивируются в один файл командой «Архивировать файлы» («Archive Files») пункта «Инструменты» ЦУ Ren’Py. Кстати, в случае архивации смысла складировать изображения в отдельную папку нет.

В любом случае, для отправки «на золото» служит команда «Выпуск игры» («Build Distributions») из всё того же пункта «Инструменты». Сначала игру ещё раз проверят Lint’ом, после чего спросят, хотим ли мы продолжать (если Lint что-то нашёл, стоит выбрать «Нет» и исправить; иначе можно смело жать «Да»). Затем последует риторический вопрос «Хотите ли вы, чтобы Ren’Py создал распространяемые архивы для Windows, Linux x86 и MacOS X» (опять «Да»). Потом спросят имя игры (сразу введено имя проекта и в подсказке предлагается дописать версию) - вводим что надо, затем жмём Enter. Наконец спросят, файлы каких расширений вы не хотите включать в финальную версию - можно смело жать Enter ничего не меняя. Теперь нужно немного подождать, и можно забирать готовые архивы из папки Ren’Py.

.3 Описание программного средства

Программа написана на языке программирования Pyton, позволяющая проводить тестирование.

Программа должна проверяет знания учащихся и выполняет основные функции независимо от воздействия на нее внутренних и внешних факторов.

Тестирующая программа предназначена для проверки знаний учащихся, позволяющая преподавателю в короткое время опросить несколько десятков учеников.

Из вышесказанного можно сделать выводы:

При разработке данного программного продукта использовались программные средства: Ren'Py 6.99.10 - Ren’Py (от ren и Python) - это бесплатный, свободный и открытый движок для создания как некоммерческих, так и коммерческих визуальных романов (графических квестов с диалоговой системой) в 2D-графике. Поддерживает платформы Windows 2000+ (x86), Linux (x86, glibc 2.3+) и Mac OS X 10.4+ (x86 и ppc), также запуск игр поддерживается на Android (2.0+, с OpenGL ES 2.0) и iOS(сборка с использованием Ren’iOS).

В Ren'Py 6.99.10 разрабатывался дружественный интерфейс, для работы с системой тестирования. Также создание рабочей области типа панели управления «кнопок». В приложение использовались компоненты кнопки, метки, текстовые поля, переключатели и формы.

Структура тестирования, вопросы и ответы теста и другие модули хранятся в файле script.rpy с расширением созданным в программе Notepad++.

Заключение

Для системы образования исключительное значение имеют средства и методы контроля знаний. Удобным инструментом диагностики знаний, в особенности в процессе обучения, являются компьютерные тесты. В большинстве источников, когда речь заходит о тестовых технологиях в учебном процессе, тест рассматривается как элемент контроля.

Системы компьютерного тестирования предоставляют широкий спектр возможностей для построения тестов различного рода: настраиваемое количество попыток прохождения теста; настраиваемые временные задержки между попытками; выбор метода оценивания; обучающий режим: студент сможет ответить на вопрос несколько раз в рамках одной попытки. Возможно начисление штрафных баллов за каждый неправильный ответ; настраиваемый режим просмотра результатов; настраиваемые комментарии ко всему тесту в зависимости от полученной оценки; настраиваемые комментарии для каждого варианта ответа; настраиваемый комментарий для каждого вопроса; конструирование теста на основе случайного выбора вопросов из категорий.

В дальнейшем планируется включить тестовые задания различного типа: множественный выбор, сопоставление, ввода ответа.

Список литературы

Официальный сайт Ren`Py, https://www.renpy.org/

Руководство для начинающих, https://www.renpy.org/wiki/renpy/rus/doc/tutorials/Руководство_для_начинающих

Движок визуальных новелл Ren'Py, https://www.renpy.org/wiki/renpy/rus

Википедия - Ren`Py, https://ru.wikipedia.org/wiki/Ren%27Py

С чего начать и где брать ресурсы, http://anivisual.net/blog/2014-06-02-6

Руслан Небуков, Ren`Py для чайников, http://renpyfordummies.blogspot.ru/

Краткое руководство по Ren`Py, http://ru.renpypedia.shoutwiki.com/wiki/краткое_руководство

Вопросы-ответы по RenPy, http://skazgames.com/forum/viewtopic.php?t=2

Меженный О. А., Turbo Pascal. Самоучитель. Диалектика. 2011

Дж. Форсье, П. Биссекс, У. Чан - Django. Разработка веб-приложений на Python. М. 2013

И. А. Хахаев - Практикум по алгоритмизации и программированию на Python. СПб. 2012

М. Лутц - Изучаем Python. 2013

Роман Савин “Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах”. СПб. 2014

Борис Бейзер “Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем”. М. 201

Попов А. В. Тестирование как метод контроля качества знаний. СПб. 2015

В. А. Красильникова Подготовка заданий для компьютерного тестирования. Оренбург 2014

Тестирование как метод контроля качества усвоения учебного материала учащимися. http://festival.1september.ru/articles/500954/

Похожие работы на - Разработка и создание программы компьютерного тестирования

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!