Описание проблемы Я изучаю английский язык и в процессе заметил, что моя главная проблема – это забывание английских слов.
Я точно знаю, что знаю это слово, но не могу вспомнить.
Я думаю, что многие люди сталкиваются с этой проблемой.
В Интернете эта проблема занимает третье место при изучении иностранного языка.
Моя дочь (11 лет) учит со мной английский язык.
Она использует английский в своей жизни практически каждый день, так как играет в компьютерные игры (в основном в Roblox) и ей приходится общаться с англоговорящими игроками.
У нее не большой словарный запас, но есть желание учить новые слова.
Существует множество методов решения проблемы забывания иностранных слов.
Эти методы делятся на две группы:
- Механические техники.
По сути, это запоминание новых слов.
Проблема этих методов в том, что мозг хранит эту информацию в кратковременной памяти, и этот эффект длится недолго.
- Использование слов в контексте.
То есть вам нужно составить с этим словом словосочетания и предложения.
Вы можете произнести это вслух или записать.
Этот подход считается наиболее эффективным, поскольку эта информация хранится в долговременной памяти, а значит, быстро не забывается.
Задача
Создать программу - тренер английского языка.Программа должна быть небольшой, разработка не должна занимать более двух недель (разработка в свободное от работы время, с учетом того, что это свободное время бывает не каждый день).
Проблемы, которые должна решить данная разработка:
- Изучение новых английских слов, повторение старых.
- Для ребенка улучшить скорость набора текста на клавиатуре.
- Составьте интересное задание в надежде, что оно будет полезно не только мне.
Действия
Мой родной язык программирования — C#, поэтому я выбрал его для разработки.Графическая среда — WPF. Идея реализации следующая (не новая): В центре игрового поля находится планета Земля.
С разных сторон (игра в 2D пространстве) к Земле один за другим летят космические корабли, намереваясь уничтожить нашу родную планету.
Чтобы не допустить столь неподходящего для нас варианта, мы будем отбиваться от вражеских захватчиков.
У каждого корабля есть подсказка на русском языке, и нам нужно ввести в поле ввода соответствующее английское слово.
Ввод правильного слова гарантирует уничтожение противника.
Чем больше врагов уничтожено, тем больше очков набрано.
Список функций, необходимых для реализации:
- Игровое поле имеет форму круга и расположено в центре главного окна приложения.
- Центром игрового поля является изображение планеты.
Это цель для кораблей противника.
Это отправная точка снарядов, выпущенных по кораблям.
- Точкой появления вражеского корабля является край игрового поля, представляющий собой круг.
Это значит, что точка спавна корабля лежит на круге, центр которого совпадает с центром игрового поля (координаты известны), а также известен радиус - это радиус игрового поля.
Остаётся только случайным образом задать угол появления корабля от 0 до 360 градусов.
Поиск местоположения корабля сводится к нахождению координат точки на окружности с известным центром, радиусом и углом.
- У каждого корабля есть своя скорость — количество пикселей, которое корабль проходит за 1 такт времени.
С каждым тактом расстояние корабля до цели уменьшается на полученное количество пикселей.
- Объект корабль представляет собой изображение корабля, текст подсказки на русском языке внизу изображения и текст подсказки на английском языке вверху изображения.
- Изображение корабля зависит от длины искомого слова.
Чем длиннее слово, тем крупнее должен быть корабль (на данный момент изображения разных типов кораблей имеют одинаковый размер, поэтому самый мощный корабль может выглядеть не самым устрашающим).
- Текст подсказки на русском языке — это слово или словосочетание, с помощью которых игрок отгадывает слово.
- Текст подсказки на английском языке необходим в случае, если игрок не знает этого слова или забыл его.
Текст подсказки при появлении корабля скрыт символами «-», что позволяет игроку узнать длину искомого слова.
При движении корабля рассчитывается процент пройденного пути, из чего рассчитывается, сколько символов нужно открыть в искомом слове (мы пытаемся научить игрока словам, но не хотим, чтобы он проиграл ).
Если игрок не знает слова, оно постепенно полностью откроется при приближении к планете.
- В центре игрового поля на вершине планеты находится поле ввода ответов.
Игрок пишет слова, чтобы уничтожить корабли.
- В тот момент, когда вы нажимаете клавишу «Enter», ракета запускается.
Если ввести неправильное слово, ракета пролетает мимо - поиск угла полета ракеты происходит случайным образом от 0 до 360 градусов (можно также добавить ограничение на полет в сторону корабля +- 10 градусов).
В тот момент, когда ракета пересекает край игрового поля, ракетный объект уничтожается.
Если введено правильное слово, ракета летит в сторону корабля (это угол полета корабля + 180 градусов).
В тот момент, когда пройденное ракетой расстояние больше или равно оставшемуся расстоянию корабля до цели, корабль «взрывается» — изображение корабля меняется на анимацию взрыва.
- В левом нижнем углу окна находится счетчик уничтоженных кораблей.
Счетчик добавляет плюс один в момент уничтожения корабля.
- В игре есть 3 уровня сложности: новичок, опытный, продвинутый.
Уровни различаются по сложности слов.
Слова выбираются случайным образом из соответствующего словаря.
- В левом верхнем углу окна расположены 3 кнопки запуска игры (для каждого уровня сложности).
- В приложении имеется 3 словаря: по одному на каждый уровень сложности.
В настоящее время словари составляют 1000 наиболее важных слов английского языка.
- В правом верхнем углу окна находится таблица рекордов.
Таблица состоит из 3-х частей (для каждого уровня сложности).
- Сохраненные данные таблицы рекордов хранятся в реестре операционной системы.
- Для красоты на карту игрового поля добавлено изображение звезды, меняющей координаты каждые 2 секунды.
Результат
Дочь счастлива и начинает эту игру.Этого ей будет достаточно на некоторое время.
Запускаю игру на запоминание английских слов.
Я вижу, что если каждый день делать что-то для изучения нового языка, то любые такие действия принесут пользу.
Программный код
На моем GitHub Теги: #игры #Разработка игр #.NET #Английский язык #обучение детей #симулятор
-
Читать Вконтакте Через Rss
19 Oct, 24