This commit is contained in:
2026-02-07 08:28:56 +03:00
parent eff857a55e
commit 451ddd9ae0
30 changed files with 3993 additions and 1233 deletions
+54
View File
@@ -0,0 +1,54 @@
#ifndef RANDOMRESPONSES_H
#define RANDOMRESPONSES_H
#include <QObject>
#include <QString>
#include <QStringList>
#include <QMap>
#include <QList>
#include <QVector>
#include <QRandomGenerator>
// Структура для хранения группы ответов
struct ResponseGroup {
QString name; // Имя группы
QStringList responses; // Список возможных ответов
};
class RandomResponses : public QObject
{
Q_OBJECT
public:
explicit RandomResponses(QObject *parent = nullptr);
// Получить случайный ответ из группы
QString getResponse(const QString &groupName);
// Добавить группу или дополнить существующую
bool addResponse(const QString &groupName, const QString &response);
// Удалить конкретный ответ из группы
bool removeResponse(const QString &groupName, const QString &response);
// Удалить всю группу
bool removeGroup(const QString &groupName);
// Получить список всех групп
QStringList getGroupNames() const;
// Получить все ответы группы
QStringList getGroupResponses(const QString &groupName) const;
// Проверить существование группы
bool hasGroup(const QString &groupName) const;
// Очистить все данные
void clear();
private:
QMap<QString, ResponseGroup> m_groups; // Хранение групп по имени
QRandomGenerator m_randomGenerator; // Генератор случайных чисел
};
#endif // RANDOMRESPONSES_H