Приложение на QT
Описание: Приложение представляет собой типичный "игровой инвентарь".
I. Описание GUI и взаимодействия пользователя с ним.
1. При запуске приложения первым открывается виджет "Главное меню". В
нём две кнопки: "Новая игра" и"Выход".
2. Нажатие на кнопку "Выход" приводит к закрытию программы.
3. Нажатие на кнопку "Новая игра"инициирует начало новой игры.
4. После нажатия на кнопку новая игра открывается доступ к виджету
"Игровое поле".
6. На игровом поле слева расположен виджет QTableWidget - "Инвентарь",
размерностью 3х3, все ячейки таблицы инвентаря квадратной формы.
7. На игровом поле справа расположен виджет предмета, содержащий предмет
"Яблоко", являющийся источником дляDrag'n'Drop'a в ячейки Инвентаря.
Яблоки в этом виджете бесконечные, можно брать из источника и
перетаскивать в инвентарь неограниченное количество раз.
8. При перетаскивании яблока из источника в инвентарь оно появляется в
той ячейке инвентаря, в которую осуществлено перетаскивание.
Так же возможно перетаскивание предмета внутри ячеек инвентаря. Внутри
инвентаря предметы перетаскиваются всей пачкой,
т.е. к примеру, если в ячейке было 3 яблока,перетаскиваются все три.
9. При повторном перетаскивании яблока из источника в инвентарь в ту
ячейку, где уже есть яблоко, количество яблок в этой ячейке
увеличивается на 1.
Справа снизу от яблока в ячейке инвентаря находится цифра, указывающая
на количество яблок в ячейке. К примеру, было одно яблоко, цифра 1,
после перетаскивания стало два яблока, стала цифра два.
10. При клике правой кнопкой мыши по ячейке инвентаря с яблоком
происходит уменьшение количества яблок в ячейке.Если там было одно
яблоко, то картинка яблока
исчезает. Если яблок больше одного, цифра должна уменьшится на единицу.
11. При исчезновении яблока по правому клик у мыши воспроизводится звук
откусывания яблока (подойдет любой, найти можно в интернет).
12. Над виджетами "Инвентарь" и"Яблоко" находится кнопка "Главное
меню". При нажатии на кнопку игровое поле блокируется и отображается
виджет, описанный в п. 1.
II. Описание классов программы и описание её работы.
1. Класс "Предмет". Должен описывать предмет инвентаря и содержать в
себе поля: Тип предмета, изображение предмета(путь к изображению в
ресурсах).
2. Класс "Инвентарь". Должен описыватьинвентарь и содержать поля размер
(количество ячеек), а так же поля,
описывающие, в какой ячейке сколько находитсяпредметов и каких
предметов.
3. Класс "База данных". Необходим дляуправления базой данных.
Подключается к базе данных и выполняет запросы.Использовать
QSqlDatabase.
4. База данных SQLite. Содержит в себе таблицы"Инвентарь" и "Предмет",
которые хранят данные указанных выше классов.
Здесь должны отражаться названия предметов, нажождение их в каких-либо
ячейках инвентаря. Конкретная организация таблиц на ваше усмотрение.
5. Другие классы и объекты, нужные вам, на ваше усмотрение.