Приложение на QT

Гость6 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
18.04.2019

Описание:  Приложение представляет собой типичный "игровой инвентарь".

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. Другие классы и объекты, нужные вам, на ваше усмотрение.