Помощник по игре в Балду

13.12.13

Задачи пользователя - Игры

Предлагается программа-помощник по игре в Балду

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Дистрибутив программы
.rar 447,08Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

Предлагаю программу "Balda prof".

Программа предназначена для подбора слов в игре "Балда".

Написана на C# с использованием .Net Framework.

Поставляется в виде дистрибутива с двоичными данными.

Строит дерево найденный слов (в левой чати программы), по кнопке "Найти".

В правом списке использованные слова.

В центре рабочее поле .

В нижней части алфавит.

Если на найденное слово можно подобрать слово длиннее, то окрашивает в красный.

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

Если на найденное слово можно подобрать слово той же длинны, то окрашивает в синий.

Двойным кликом по слову из левого списка добавляем его в найденные и обновляем рабочее поле.

Одинарный клик по левому списку показывает букву в рабочем поле (для визуального контроля)

Буквы в поле можно вносить 3 способами:

- с клавиатуры

- мышью (нажав на букву, затем на клетку поля)

- перетаскиванием

 

Словарь содержится в файле RusNoun.txt. Это обычный текстовый файл, слова в нем отсортированы по алфавиту.

Можете редактировать его вручную.

 

Немного истории.

Где-то в 2009-2010 году жена увлеклась игрой в балду. Можно найти на mail.ru. И вот мы собирались 3-4 человека с друзьями и устраивали мозговой штурм. С переменным успехом двигались по турнирой лестнице. Но обнаруживались игроки, подбирающие длинные незнакомые слова. Тогда же родилась мысль найти словарь и искать в нем слова. Нашли словарь, я написал мини программу на Visual Basic, работающую с регулярными выражениями. Но это был полуавтомат, он не мог проверить все комбинации, и к тому же поиск запускался вручную. Тогда же задался целью написать программу, которя анализирует поле и ищет куда добавить букву и затем осуществляет поиск в словаре.

На первом этапе была сделана консольная программа на C#, которая в тестовом виде выдавала все найденные слова, отсортированные по убыванию. Методом проб и ошибок и каждодневного тестирования/игры я устранял ошибки в алгоритме. В итоге получилось что-то минимально рабочее. Но существовали недостатки:

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

Во - вторых, не анализировались уже использованные слова и шаблоны.

В общем, назрела необходимость озаботиться интерфейсом. И я выпустил первую версию - Balda Game.

Она была на .Net Framework 2.0. По сути элементы интерфейса перекочевали и в последний релиз, который и выкладываю.

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

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

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

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

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

балда balda

См. также

Игры Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бесплатно (free)

Игра "Сапёр" на 1С. Три уровня.

04.04.2025    1072    83    user2015123    9    

18

Игры Платформа 1С v8.3 Бесплатно (free)

Игра Змейка на объектах форм, а ля ООП, или что можно сотворить за час )))

20.02.2025    1567    69    starik-2005    9    

15

Игры Платформа 1С v8.3 Бесплатно (free)

Когда охота "настоящего" ООП, но не знаешь, как его взять в 1С. Массив форм в форме нам поможет )))

18.02.2025    1310    50    starik-2005    14    

19

Игры Платформа 1С v8.3 Бесплатно (free)

Знакомы с серией игр Football Manager? Вся суть подобных симуляторов состоит в том, чтобы путем грамотного управления и контроля за спортивным, инфраструктурным и финансовым учетом привести свой футбольный клуб к успехам. Это ли не задача для платформы 1С - помочь в контроле учета предприятия (читай футбольного клуба)?

10.01.2025    4091    103    KamranV21    4    

34

Игры Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Бесплатно (free)

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

29.12.2024    786    38    miniogn    0    

6

Игры Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Я Федор, ведущий разработчик 1С. На хакатоне компании команда под моим руководством перенесла игру «Герои меча и магии III» на платформу 1С. Расскажу, как устроена конфигурация «1С: Герои меча и магии» с технической точки зрения.

10.10.2024    51552    PROSTO-1C    55    

173

Игры Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Классическая игра Морской бой, с необычным дизайном. Из особенностей: Поле игрока формируется автоматически, но есть возможность корректировать расстановку фигур. Пример игры в приложенном видео.

29.07.2024    1660    98    user1693438    4    

11

Игры Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

Простейшие крестики-нолики с маленьким полем.

24.07.2024    1684    124    user2015123    0    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. _Ramzes 127 13.12.13 00:44 Сейчас в теме
2. polakoff 2 13.12.13 12:26 Сейчас в теме
to: _Ramzes.
Отличий много.
На первый взгляд у него упрощенный вариант игры. Он сам написал, что его программа может добавлять букву в начало или в конец. Моя же анализирует все поле, то есть последовательно перебирает все 25 ячеек поля и ищет куда можно вставить букву. Таким образом создается массив шаблонов, который проверяется словарем. Те шаблоны, по которым найдены слова остаются, остальные отбрасываются.

Второе важное отличие, что моя программа строит дерево найденных слов.
Третье отличие, что она написана на C# с .Net Framework 2.0
3. mikhailovaew 127 17.04.14 16:14 Сейчас в теме
откуда словарик в обработке? и что за слово "пором"? вроде в современном русском такого нет
4. polakoff 2 05.05.14 15:33 Сейчас в теме
Где-то скачал. Сейчас уже не помню. Единственный бесплатный словарь в формате txt, который нашел. Но, к сожалению, в нем попадаются "мусорные" слова которые не принимает сервер балды. Если найдете что-то лучше то можно заменить. Единственно нужно отсортировать слова.
Оставьте свое сообщение