Программа для создания кроссвордов, Обсуждение программы и кода |
Здравствуйте, гость ( Вход | Регистрация )
Программа для создания кроссвордов, Обсуждение программы и кода |
xwicked |
2.8.2011, 14:50
Сообщение
#1
|
Студент Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте! Есть одна программа для создания кроссвордов. Она состоит из двух частей: создание и отгадывание. Прошу её код хорошо покритиковать. Для остальных, чтобы могли посмотреть на её работу, дам ссылки на бинарники 32-бит: создание, отгадывание. Qt-4.5.3. Проекты OpenSource под GPLv2. Ссылки на SourceForge.net - создание, отгадывание. Это мой первый код на C++(Qt). Жду комментариев Добавлю небольшое описание: Сетка кроссворда представлена обычной таблицей TableCrosswordEdit(QTableWidget), слова загружаются в список слов ListWord(QStringList), толкования(вопросы) находятся в списке вопросов ListQuestions(QListWidget). Структура файла - динамическая. Когда писал программы на Delphi - использовал статику - расходовалось лишнее дисковое пространство . XWC: Пароль, количество строк, количество столбцов, ширина(высота) ячейки таблицы, шрифт, структура таблицы(w + 1(x) - белая ячейка, b + 1( c ) - чёрная), строка с данными CrosswordData(QString).
CrosswordData: цикл по количеству слов(q, QChar(номер слова), QChar(координата строки в сетке), QChar(координата столбца в сетке), направление слова в сетке), цикл по количеству слов(W, QChar(номер слова), QChar(длина слова), само слово), цикл по количеству вопросов(Q, QChar(номер вопроса), QChar(длина вопроса), сам вопрос).
Шаблон кроссворда(XWTPL) таже структура, но без пароля и без CrosswordData. Состояние сохранения(tmpcross): цикл по количеству слов(W, QChar(номер слова), QChar(длина слова), само слово). |
|
|
ViGOur |
2.8.2011, 15:43
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
у нас на сайте, есть раздел исходники, можешь добавить туда.
нцужно просто зайти залогинившись на форуме на сам crossplatform.ru и все увидишь. |
|
|
xwicked |
2.8.2011, 18:17
Сообщение
#3
|
Студент Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
xwicked |
4.8.2011, 16:40
Сообщение
#4
|
Студент Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: 0 |
Продолжаем знакомиться с исходником. Профессиональный кроссворд, версии 0.1.4 - это объединение двух предыдущих: создателя и отгадывателя, с последующей доработкой.
Изменения: - Добавлена возможность автоматического создания сетки кроссворда(бета-версия). - Добавлена возможность автоматического составления кроссворда(выбор слов из словаря). Первая бета-версия. - Присутствуют обе возможности(создание и отгадывыание). Отмечу, что выбор слов происходит в один проход и могут быть пропуски слов в сетке, после составления кроссворда. Исходный код + сборки(0.1.4) Отдельный проект на SourceForge.net - Клёст-кроссворд В Клёст-кроссворде нет возможности сохранять пароль, в то время как в Crossword editor эта возможность есть. Проекты были разделены для большего удобства разработки. P.S. Профессиональный кроссворд 0.1.7 = Клёст-кроссворд 0.1.7 |
|
|
xwicked |
6.8.2011, 12:08
Сообщение
#5
|
Студент Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: 0 |
Следующая версия программы - 0.1.5. Исходный код + сборки.
Изменилась функция составления кроссворда, которая теперь позволяет заполнить всю сетку кроссворда словами. |
|
|
registr |
7.8.2011, 11:26
Сообщение
#6
|
Участник Группа: Участник Сообщений: 115 Регистрация: 16.11.2009 Пользователь №: 1234 Спасибо сказали: 8 раз(а) Репутация: 1 |
Попробуй рассказать об игре на http://www.gamedev.ru/projects/forum/ Будет дополнительная реклама и возможно какие-нибудь советы и пожелания. Ну и удачи с проектом
|
|
|
xwicked |
7.8.2011, 21:01
Сообщение
#7
|
Студент Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: 0 |
Попробуй рассказать об игре на http://www.gamedev.ru/projects/forum/ Будет дополнительная реклама и возможно какие-нибудь советы и пожелания. Ну и удачи с проектом Благодарю, посмотрю.------------------------------------- В новой версии 0.1.6 - исходник + сборки, добавлен экспорт кроссворда в изображения следующих растровых графических форматов: JPG, JPEG, BMP, TIFF, PNG, XPM, XBM, PPM + несколько других исправлений. |
|
|
xwicked |
15.8.2011, 6:26
Сообщение
#8
|
Студент Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: 0 |
А вот и новая версия 0.1.7. Изучаем исходный код + сборки.
Что изменено: Цитата - Временное название "Профессиональный кроссворд" изменено на "Клёст-кроссворд".
- При вводе слова в кроссворд, производится проверка на количество введённых букв в поле "Введите слово". - В свойствах таблицы кроссворда отключена возможность ввода букв, непосредственно в ячейку, минуя поле "Введите слово". - Изменены цветовые стили некоторых компонентов. - В строку состояния добавлен компонент, отображающий количество букв. - Добавлена проверка состояния сохранения изменений, произведённые в кроссворде, при выходе, используя меню "Кроссворд->Выход". |
|
|
xwicked |
17.8.2011, 21:33
Сообщение
#9
|
Студент Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: 0 |
Если у кого-нибудь будет желание свою изменённую версию кроссворда далее распространять, то для этой цели я подготовил спекфайл для сборки программы в дистрибутиве ОС Linux, основанного на RPM-пакетах.
Также прошу найти в нём ошибки: Цитата Summary: Qt program for professional creating and easy guessing the classic crossword puzzles. Специальный архив версии 0.1.7.Summary(ru): Qt программа для профессионального создания редактирования и лёгкого отгадывания классических кроссвордов %define version 0.1.7 Group: Games/Puzzles Name: klest-crossword BuildRequires: gcc-c++, libqt4-sql-sqlite >= 4.4.3, libqtgui4 >= 4.4.3, libqt4-core >= 4.4.3 BuildArch: %ix86 Provides: klest-crossword Release: alt1 Source: klest-crossword-%{version}.tar.gz Url: http://labfreetech.org/index_e.html Version: %{version} License: GPLv2 Packager: LabFreeTech.org admin@labfreetech.org %description Qt program for creating and guessing the classic crossword puzzles. Supported features: - Create a crossword puzzle; - Editing a crossword puzzle; - Guessing crossword puzzle; - Check correctness of guessing a crossword puzzle; - Save state incompletely guessed crossword puzzle; - Automatic creation of crossword puzzle grid (beta) - Automatic selection of words from the dictionary (Beta 2); - Adding / removing words from the dictionary; - Conservation created a crossword puzzle grid, as a template for the new; - Editing the font crossword; - Editing the size of the grid cell crossword puzzle; - Export crossword in the image. %description -l ru Qt программа для профессионального создания редактирования и лёгкого отгадывания классических кроссвордов Поддерживаемые функции: - Создание кроссворда; - Редактирование кроссворда; - Отгадывание кроссворда; - Проверка правильности отгадывания кроссворда; - Сохранение состояния неполностью отгаданного кроссворда; - Автоматическое создание сетки кроссворда(бета); - Автоматический выбор слов из словаря(бета 2); - Добавление/удаление слов из словаря; - Сохранение созданной сетки кроссворда, как шаблон для нового; - Редактирование шрифта кроссворда; - Редактирование размера ячейки сетки кроссворда; - Экспорт кроссворда в изображение. %prep %setup -q %build %make_build %install cp -Rv klest/ %buildroot/ %clean rm -rf $RPM_BUILD_ROOT %files /usr/games/* /usr/share/* %post test -e /usr/bin/klest-crossword-0.1.7 || ln -s /usr/games/klest-crossword-0.1.7 /usr/bin/klest-crossword-0.1.7 test -e $HOME/Desktop/klest-crossword.desktop || cp -r /usr/share/applications/klest-crossword.desktop $HOME/Desktop/klest-crossword.desktop %postun test -L /usr/bin/klest-crossword-0.1.7 && rm -r /usr/bin/klest-crossword-0.1.7 test -e $HOME/Desktop/klest-crossword.desktop && rm -r $HOME/Desktop/klest-crossword.desktop Устанавливаем дополнительный пакет rpm-build и собираем командой в консоли: Цитата $rpmbuild -bb /home/username/RPM/SPECS/klest-crossword-0.1.7-alt.spec
|
|
|
xwicked |
18.8.2011, 21:03
Сообщение
#10
|
Студент Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: 0 |
Продолжение: 0.1.8. Исходник + сборки.
Изменения: Цитата - Изменился алгоритм выбора слов из словаря(бета 3), с небольшой оптимизацией;
- Исправлена ошибка при экспорте кроссворда в изображение; - Изменилось автоматическое переключение между направлением слов, на ручное - щелчком правой кнопки мыши. |
|
|
Текстовая версия | Сейчас: 26.11.2024, 20:48 |