IPB
ЛогинПароль:

> Scrabble
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

Репутация: -  0  +


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


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Что касается ИИ, то мне кажется, что особых проблем нет. Если есть словарь, то нужно составить из имеющихся на руках букв всевозможные сочетания, затем приставлять их к буквам на доске и сверять со словарем, что получится. Алгоритм дубовый, и работать он будет долго, но это уже второй вопрос smile.gif.

Reflex, первое и главное замечание: при совместной работе хорошо было бы иметь словесное описание как данных, так и алгоритмов. Интерфейс не является исключением. Если в лом делать отдельное описание (что я вполне понимаю), то по крайней мере все должно быть прокомментировано, и без этого никак! Хотя, я бы все же предпочел сначала обсудить..

Например, в том коде, что ты привела, в глаза бросается набор констант. Он зачем? Мне кажется, такие вещи, как ценность буквы, нужно иметь отдельно, в файлах ресурсов. Сами же буквы естественно заменить на номера, занеся их реальные значения (типа А, Б ..) в массив (который, кстати, может зависеть от выбранной кодировки). Если следовать такому плану, то игру можно сделать многоязычной: русская, английская, украинская, французская.. - смена языка производится заменой файлов. Тогда мумба-юмбафикация игры могла бы заключатся в простом добавлении файлов (словарь можно позаимствовать у Ильфа с Петровым smile.gif).

Затем, давайте договоримся о выборе стандарта языка. Я предлагаю Object Pascal, но можно и сразу на Дельфи. Суть в том, чтобы задействовать объекты - они, как известно, хороши при совместном осуществлении пректа. Чисто процедурный подход я бы не рекомендовал.. Но можно и его, если есть возражения против объектов.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата
Если есть словарь, то нужно составить из имеющихся на руках букв всевозможные сочетания, затем приставлять их к буквам на доске и сверять со словарем, что получится. Алгоритм дубовый, и работать он будет долго, но это уже второй вопрос smile.gif.


Алгоритм не дубовый, и он будет летать. Только лучше, наверное, сначала смотреть, куда будем ставить, а потом уже ставить.

На поле 15х15 всего 225 клеток. От каждой клетки пытаемся проложить слово вправо, и слово вниз.

Пусть словарь у нас отсортирован лексикографически, и пусть в нем n слов. У нас есть клетка на доске, и мы идем от нее вправо. Хотим получить список всех возможных слов (учитывая, хватит ли у нас фишек, чтоб достроить недостающие буквы).

Рекурсивный перебор такой:

Сначала считаем, что нам подходят все слова: [0; n). Смотрим на первую букву (т.е. на начальную клетку). Если там уже стоит фишка с буквой, скажем, К, то нас уже устраивает не [0; n), а [x; y), где x - первое слово на букву К, а y - первое слово на букву Л. Если же там - пусто, то пытаемся туда поставить одну из букв, имеющихся на руках (всего их 7?). И опять-таки, сужаем интервал соответственно. И теперь рекурсивно переходим ко второй букве. Опять, если там не пусто, сужаем интервал однозначно, если же пусто - перебираем и сужаем, и т.д.

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

Используя префиксное дерево, мы будем сужать интервалы за O(1), и перебор будет работать неприлично быстро smile.gif

Эту часть могу взять на себя.

Сообщение отредактировано: Michael_Rybak -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Reflex   Scrabble   1.11.2006 1:06
Vasya!   Для начала что за игра опиши. Хоть в кратце. :yes2…   1.11.2006 2:32
Reflex   Ура :) :) :) Появился хоть один заинтересовавшийся…   1.11.2006 2:55
Vasya!   Типа кроссворд? А что делать надо а то я непонял?…   1.11.2006 3:16
Reflex   Нет... не кроссворд ... Ну давай сначала обсудим и…   1.11.2006 3:18
Reflex   или я не то понисмаю под словом кроссворд   1.11.2006 4:59
lapp   или я не то понисмаю под словом кроссворд Эта иг…   1.11.2006 5:32
Reflex   А ты не мог бы рассказать Алгорим ИИ? а то я что-т…   1.11.2006 17:55
Vasya!   Так как я в игру не играл, то тоже не знаю алгорит…   1.11.2006 22:12
arhimag   Готов помочь, предлагаю интерфейс сделать текстовы…   1.11.2006 18:25
Reflex   ну вот что-то такое правдо это только часть. prog…   2.11.2006 5:35
lapp   Что касается ИИ, то мне кажется, что особых пробле…   2.11.2006 13:31
Michael_Rybak   Алгоритм не дубовый, и он будет летать. Только л…   2.11.2006 16:53
lapp   Только лучше, наверное, сначала смотреть, куда бу…   2.11.2006 17:37
arhimag   В написании игр объектный подход очень удомен и мн…   2.11.2006 16:03
lapp   Я тут набросал примерно костяк структуры данных, к…   2.11.2006 18:11
Michael_Rybak   Тут у меня есть 2 соображения. Во-первых, понятно…   2.11.2006 18:45
Michael_Rybak   Еще, если уж на то пошло, то давайте кто-то начнет…   2.11.2006 20:50
arhimag   как - то давно вы мне давали чат по локалке, и я о…   2.11.2006 19:36
lapp   я предлагаю взять сделать чат, потом добавить функ…   3.11.2006 5:30
Michael_Rybak   ОК :) Но если что - без проблем.   3.11.2006 5:36
lapp   Наткнулся на неожиданное препятствие: неизвестно, …   3.11.2006 18:14
Reflex   Привет всем, я просто даувно не была в интернете. …   4.11.2006 15:09


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.05.2024 18:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name