#c_sharp #unity3d #словари
Делаю игру, развивающую скорость печать(знаю, такие уже есть). Понимаю, что нужен файл либо база данных слов, как именно это лучше реализовать, и где можно скачать подобные словари?
Ответы
Ответ 1
Реализация: Самое простое, что приходит в голову это хранить слова в txt файле. Загружаем строку из файла. Разбиваем ее в зависимости от разделителя для слов, который был использован. Складываем это все в массив и дальше пользуемся как угодно. Скачать: Есть частотные словари, вот например такой http://www.wordfrequency.info/100k.aspОтвет 2
Списки слов есть в интернете, и легко гуглятся. Поэтому вы можете подсчитать общее количество слов/строк в файле, и в нужный момент просто брать строку со случайным номером. Небольшой трюк состоит в том, что обычно искать строку по номеру невозможно без предварительного чтения всех предыдущих строк. Чтобы обойти это, подсчитайте максимальную длину слова в вашем файле, и дополните все слова пробелами до этой максимальной ширины. Теперь ваши строки все одинакового размера (разумеется, если вы используете Encoding.Unicode, а не Encoding.UTF8: английские слова могут содержать символы вне ASCII), и вы можете просто найти смещение начала строки в файле. Ну или если в вашем словаре несчастных 20 тысяч слов (размером со словарный запас Пушкина), можно не париться с оптимизацией хранения, и считать весь словарь в память один раз при старте программы.
Комментариев нет:
Отправить комментарий