УДК 004.42

КОМПЬЮТЕРНАЯ ИГРА ПО ЭЛЕМЕНТАРНЫМ ПРЕОБРАЗОВАНИЯМ МАТРИЦ

Дзиковский Федор Глебович1, Баженов Руслан Иванович2
1Приамурский государственный университет имени Шолом-Алейхема, студент
2Приамурский государственный университет имени Шолом-Алейхема, кандидат педагогических наук, доцент, заведующий кафедрой информатики и вычислительной техники

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

Ключевые слова: компьютерная игра, матрица, преобразования матриц


THE COMPUTER GAME OF ELEMENTARY TRANSFORMATION MATRICES

Dzikovsky Fedor Glebovich1, Bazhenov Ruslan Ivanovich2
1Sholom-Aleichem Priamursky State University, student
2Sholom-Aleichem Priamursky State University, candidate of pedagogical sciences, associate professor, Head of the Department of Computer Science

Abstract
The article describes a computer network game for students studying elementary transformation matrices. Opponents during the game get points for conversion. The goal - to convert the matrix to form a unit faster than the opponent.

Keywords: computer game, matrix, transformation matrices


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Дзиковский Ф.Г., Баженов Р.И. Компьютерная игра по элементарным преобразованиям матриц // Современные научные исследования и инновации. 2014. № 7 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2014/07/36420 (дата обращения: 04.10.2017).

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

Подобными задачами занимались различные ученые. О.А.Шабалина рассмотрела применение компьютерных игр для обучения разработке программного обеспечения [1]. А.К.Казанцев, Л.С.Серова исследовали имитационное моделирование управления организацией для разработки деловых компьютерных игр [2].. Технологию разработки компьютерных матричных игр показали В.В.Селянкин, И.С.Злыгостев [3]. Проектирование формального предметно-ориентированного языка для разработки правил компьютерных игр в классе пошаговых стратегий изучала Е.А.Павлова [4]. А.А.Думиньш, Л.В. Зайцева применяли компьютерные игры в обучении и технологии их разработки [5]. О.Е.Данилов исследовал разработку обучающих программ с помощью инструментов для создания компьютерных игр [6]. Авторы [7] разрабатывали простые системы по преобразованиям матриц и использовали для обучения компьютерные программные продукты [8].

Представим постановку задачи по программированию игры подробнее.

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

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

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

  1. Двойным щелчком по строке матрицы вызывают калькулятор преобразований.
  2. Выбирают действие, которое они хотят выполнить с матрицей. Калькулятор предлагает выбор из четырёх действий:
    1. Перестановка местами двух любых строк матрицы.
    2. Сложение двух строк.
    3. Умножение любой строки матрицы на константу .
    4. Прибавление к любой строке матрицы другой строки, умноженной на константу (объединение двух действий b и c).

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

  3. Если выбранное действие – перестановка местами двух любых строк матрицы, то нужно двойным щелчком нажать по той строке, с которой совершается обмен строками, после этого произойдёт перестановка.
  4. Если выбранное действие – умножение строки матрицы на константу, то нужно ввести константу, нажимая на кнопки цифр на калькуляторе, после этого нажать на кнопку Operate (действовать) на калькуляторе и затем, по очереди нажать на каждое число выбранной строки матрицы. Строка будет умножена на константу.
  5. Если выбранное действие – прибавление к любой строке матрицы другой строки, то нужно по очереди нажать на каждое число той строки матрицы, к которой вы хотите прибавить значения выбранной строки.
  6. Если выбранное действие – прибавление к любой строке матрицы другой строки, умноженной на константу , то нужно ввести константу, нажимая на кнопки цифр на калькуляторе, после этого нажать на кнопку Operate (действовать) на калькуляторе и затем, по очереди нажать на каждое число той строки матрицы, к которой вы хотите прибавить значения выбранной строки, умноженные на введенную вами константу.

Опыт авторов в программировании и обучении студентов позволил реализовать такую задачу [7-24].

Рассмотрим работу разработанной компьютерной игры.

При запуске программы на экране появляется два окна, основное и поверх него диалоговое модальное окно программы, с двумя кнопками «Создать игру» и «Выбрать игру» (рис. 1).

Рисунок 1 – Первое и главное окна программы

После нажатия кнопки «Создать игру» на экране появляется окно, в котором нужно ввести имя игрока, затем выбрать размерность матриц (рис. 2).

Рисунок 2 – Окно для ввода параметров игры

После нажатия на кнопку «Создать» на экране появляется окно, в котором нужно будет ввести матрицу подтвердить её (рис. 3).

Рисунок 3 – Окно для ввода параметров игры

После нажатия на кнопку «Подтвердить матрицу» матрица передаётся сопернику, теперь нужно дождаться ввода матрицы соперником.

Рассмотрим путь после нажатия на кнопку «Выбрать игру» (рис.1). Первое окно после нажатия на эту кнопку отображает процесс поиска игры созданной сервером (рис. 4, рис. 5, рис. 6).

Рисунок 4 – Окно поиска игры

Рисунок 5 – Окно поиска игры. Игра найдена

Рисунок 6 – Окно поиска игры. Повторение поиска

После нажатия на кнопку «OK» на экране появится окно для ввода имени игрока (рис. 7).

Рисунок 7 – Окно информации об игре и ввода имени игрока

После нажатия на кнопку «OK» на экране появится окно ввода матрицы. Оно похоже на окно для ввода матрицы игрока со стороны сервера, но на нём нет кнопки «FIGHT» (рис. 8).

Рисунок 8 – Окно ввода матрицы игроком со стороны клиента

Покажем изображения окна ввода матриц игроков со стороны сервера и клиента после подтверждения матриц (рис. 9, рис. 10).

Рисунок 9 – Окно ввода матрицы игроком со стороны сервера после подтверждения матриц

Рисунок 10 – Окно ввода матрицы игроком со стороны клиента после подтверждения матриц

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

Рисунок 11 – Главное окно. Игрок вызвал калькулятор для того, чтобы начать преобразования матрицы

Игрок вызвал калькулятор, теперь нужно выбрать действие, которое он хочет выполнить с выделенной строкой. На калькуляторе четыре кнопки действия: <-> – поменять строки местами, C* – умножить строку на константу, (+) – прибавить строку матрицы к другой строке, C*+ – прибавить строку умноженную на константу к любой другой строке матрицы.

После того как игрок выбрал действие, кнопка действия становится красной. Если он выбрал какое-либо действие с константой, он должен ввести константу. Главное окно с введенной константой изображено на рис.12.

Рисунок 12 – Игрок выбрал действие и ввёл константу

После того, как игрок ввёл константу, он должен нажать на кнопку «Operate», затем он должен нажимать по очереди по элементам матрицы. После этих действий строка будет преобразована так, как хотел игрок (рис. 13).

Рисунок 13 – Игрок выполнил преобразования

Далее рассмотрим получение очков игроком во время преобразований. Максимальное количество очков, которое может получить игрок, соответствует количеству строк в его матрице. В игре максимальная размерность матриц равна пяти. Игрок получает очко, если в одной из его строк на главной диагонали единица, а в остальных столбцах нули. Окно программы с полученными очками представлено на рис.14.

Рисунок 14 – Игрок получил одно очко

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

Рисунок 15 – Игра закончена

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

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

Данная компьютерная игра в дальнейшем будет развиваться. Появятся новые элементы геймплея, будет улучшаться дизайн и производительность, в разработке планируется применять более продвинутые средства разработки. Планируется перенос компьютерной игры на другие платформы (android, iOS).


Библиографический список
  1. Шабалина О. А. Применение компьютерных игр для обучения разработке программного обеспечения // Открытое образование. 2010. № 6. С. 19-26.
  2. Казанцев А. К., Серова Л. С. Имитационное моделирование управления организацией: опыт разработки деловых компьютерных игр // Вестник Санкт-Петербургского университета. Серия 8: Менеджмент. 2006. № 4. С. 186-206.
  3. Селянкин В. В., Злыгостев И. С. Технология разработки компьютерных матричных игр // Известия Южного федерального университета. Технические науки. 2005. Т. 47. № 3. С. 86-90.
  4. Павлова Е. А. Проектирование формального предметно-ориентированного языка для разработки правил компьютерных игр в классе пошаговых стратегий // Вестник компьютерных и информационных технологий. 2009. № 4. С. 45-52.
  5. Думиньш А. А., Зайцева Л. В. Компьютерные игры в обучении и технологии их разработки // Образовательные технологии и общество (Educational Technology & Society). 2012. Т. 15. № 3. С. 534-544.
  6. Данилов О. Е. Разработка обучающих программ с помощью инструментов для создания компьютерных игр // Молодой ученый. 2014. №3(62). С. 899-901.
  7. Bazhenov R. I., Dzikovsky F. G., Dubei O. Ya. The Teaching of Object-Oriented Approach on Programming Language F# // Eastern European Scientific Journal. 2014. №4. P. 254-259. DOI: 10.12851/EESJ201404ART36
  8. Баженов Р. И., Лобанова А. М. Обучение основам предпринимательства в компьютерной экономической игре «Капитализм 2» // Экономика и менеджмент инновационных технологий. 2014. №4(31). С.35. URL: http://ekonomika.snauka.ru/2014/04/5013 (дата обращения: 30.06.2014).
  9. Баженов Р. И. Практикум по технологии разработки программного обеспечения: лабораторный практикум. Биробиджан: Изд-во ГОУВПО «ДВГСГА», 2011. 58 с.
  10. Баженов Р. И. Организация и планирование производства. Учебное пособие. Биробиджан: Изд-во ПГУ им. Шолом-Алейхема, 2012. 117 с.
  11. Баженов Р. И., Корнилков А. П., Лопатин Д. К. Проектирование web-ориентированной информационной системы университета на основе клиент-серверных технологий // Актуальные проблемы гуманитарных и естественных наук. 2014. № 4-1. С. 68-71.
  12. Баженов Р. И., Векслер В. А. Реализация XYZ-анализа в программном коде внутреннего языка программирования 1С:Предприятие 8.3 // Информатизация и связь. 2014. № 1. С. 37-42.
  13. Баженов Р. И., Векслер В. А. Анализ потребительских корзин в 1С:Предприятие на примере АВС-анализа // Информатизация и связь. 2013. № 5. С. 117-123.
  14. Баженов Р. И., Гринкруг Л. С. Информационная система Абитуриент-Деканат ФГБОУ ВПО «Приамурский государственный университет им. Шолом-Алейхема» // Информатизация и связь. 2013. № 2. С. 97-99.
  15. Баженов Р. И., Гринкруг Л. С. Информационная система по расчету и распределению нагрузки профессорско-преподавательского состава ФГБОУ ВПО «Приамурский государственный университет им. Шолом-Алейхема» // Информатизация и связь. 2012. №5. С. 75-78.
  16. Баженов Р. И. О методике преподавания метода анализа иерархий в курсе «Информационная безопасность и защита информации» // Современные научные исследования и инновации. 2014. № 4. URL: http://web.snauka.ru/issues/2014/04/33202 (дата обращения: 30.06.2014).
  17. Баженов Р. И. О методике преподавания дисциплины «Управление проектами информационных систем» // Современные научные исследования и инновации. 2014. № 3. URL: http://web.snauka.ru/issues/2014/03/32980 (дата обращения: 30.06.2014).
  18. Баженов Р. И., Мохно Д. Е. О разработке информационной системы по учету оценочных средств в университете // Современные научные исследования и инновации. 2014. №5. URL: http://web.snauka.ru/issues/2014/05/34815 (дата обращения: 30.06.2014).
  19. Баженов Р. И., Никитин А. В. О разработке информационной системы по контролю над пролонгацией страховых договоров // Современные научные исследования и инновации. 2014. №6. URL: http://web.snauka.ru/issues/2014/06/35496 (дата обращения: 30.06.2014).
  20. Баженов Р. И., Кузнецова Я. И. О разработке информационной системы по учету благотворительной помощи в малой организации // Современная техника и технологии. 2014. №6. URL: http://technology.snauka.ru/2014/06/3961 (дата обращения: 30.06.2014).
  21. Баженов Р. И., Семёнова Д. М. О разработке информационной системы учета деятельности членов общественной молодежной палаты // Современные научные исследования и инновации. 2014. №6. URL: http://web.snauka.ru/issues/2014/06/35578 (дата обращения: 30.06.2014).
  22. Баженов Р. И. Методические рекомендации для выполнения курсовой работы по дисциплине «Теория автоматов». Биробиджан: Изд-во ДВГСГА, 2008. 20 с.
  23. Баженов Р. И., Афанасьева М. А. Разработка программной модели контроля дверей холодильника на основе теории автоматов // Журнал научных публикаций аспирантов и докторантов. 2014. №4(94). С. 306-308.
  24. Баженов Р. И., Кривошеева О. Н. Разработка автоматизированной информационной системы для учета деятельности по обслуживанию и ремонту пожарных и охранных комплексов // Современная техника и технологии. 2014. №6. URL: http://technology.snauka.ru/2014/06/3964 (дата обращения: 30.06.2014).


Все статьи автора «Баженов Руслан Иванович»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

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

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: