Форум программистов, компьютерный форум CyberForum.ru

Слишком медленный алгоритм искусственного интеллекта игры Балда - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Анимация закрытия фотки http://www.cyberforum.ru/android-dev/thread1841687.html
Как реализовать такое закрытие фотки как в приложении вконтакте. Ну когда я смотрю свои фотки или фотки юзера, а потом движением вверх закрываю фотку и возвращаюсь обратно на страницу. Как такое можно реализовать? Что это за анимация?
Android Как отлавливать ввод каждого символа Всем привет. Ловлю ивенты TextView определим TextView.OnEditorActionListener интерфейс, в методе onEditorAction. Но событие ввода приходит только после того как пользователь ввел полный текст и нажал Done на клавиатуре. Как отслеживать ввод каждого символа? http://www.cyberforum.ru/android-dev/thread1841460.html
Создание всплывающего меню Android
Всем доброго времени суток. Вопрос такой - в проекте на Android Studio 2.1.3 пытаюсь создать всплывающее меню, привязанное к элементу. Меню работает, но хочу, чтобы пункты меню высвечивались сразу все, а получается так, что высвечивается первый пункт меню и есть прокрутка... Не могу найти атрибут, который отвечает за это( Код программы: package com.example.admin.popupmenu; import...
Android Некорректно работает таймер
Здравствуйте! Написал для себя мелкое приложение в котором есть таймер, кнопка которая его останавливает и запускает, кнопка которая добавляет 30 мин. На первый взгляд все работает нормально, но когда включаешь таймер и через полчаса проверяешь, то он уже не работает. Причем каждый раз он перестает работать через разное время. Есть предположение, что возможно приложение просто закрывается, так...
Android Хранение и использование большого количества изображений http://www.cyberforum.ru/android-dev/thread1840816.html
Всем привет! Подскажите способ хранения большого количества изображений, чтобы можно было эти изображения удобно использовать. Смотрел про <level-list>, в принципе устраивает, но насколько это правильно можете подсказать?:-[
Android Polyline как у гугловского приложения "Карты" Как реализовать такое? подробнее

Показать сообщение отдельно
Paket236
2 / 2 / 0
Регистрация: 16.08.2013
Сообщений: 48
03.11.2016, 19:20  [ТС]     Слишком медленный алгоритм искусственного интеллекта игры Балда
Паблито, самый долгий участок, который несравнимо дольше других выполняется, находится на 3-ем этапе (который я описал выше). Привожу код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
        StringBuilder sb = new StringBuilder();
        String[] русскийАлфавит = new String[] {"А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К",
                                                "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х",
                                                "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я"};
        int pos = -1;
        // перебираем "слова"(последовательности) и определяем позицию пустой клетки
        for(int i=0; i<alСлова.size(); ++i) {
            pos = alСлова.get(i).indexOf(" ");
            sb = new StringBuilder(alСлова.get(i));
            // заполняем пустую клетку буквами из алфавита
            for(int j=0; j<русскийАлфавит.length; ++j) {
                sb.replace(pos, pos+1, русскийАлфавит[j]);
                // сравниваем слово с заполненной буквой со словами из словаря
                for(int k=0; k<словарь.length; ++k) {
                    // добавляем найденное в словаре слово
                    if(sb.toString().equals(словарь[k]) && отсутствуетВСпискеИспользованных(sb.toString())) {
                        alКоорд1ЗаполненныхБукв.add(alКоорд1ПустыхКлеток.get(i));
                        alКоорд2ЗаполненныхБукв.add(alКоорд2ПустыхКлеток.get(i));
                        alЗаполненныеБуквы.add(русскийАлфавит[j]);
                        alНайдСлова.add(sb.toString());
                        alКоордНайдСлова.add(alКоордСлова.get(i));
                    }
                }
            }
        }
Но мне кажется, здесь вряд ли что-то можно оптимизировать, хотя кто знает...

upd: в словаре 11880 слов.

Добавлено через 11 минут
upd2: если закомментировать внутри if() - по скорости ничего не изменится. А вот если сам if(), т.е. не сравнивать со словарём - то скорость сразу становится приемлемой, около секунды.
 
Текущее время: 12:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru