diff --git a/Feature.h b/Feature.h deleted file mode 100644 index 8c94735..0000000 --- a/Feature.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef FEATURE_H -#define FEATURE_H -#include - -struct Feature { - std::string name; - int value; -}; - -#endif // FEATURE_H diff --git a/FicheJDR.pro b/FicheJDR.pro index e597d3c..394629f 100644 --- a/FicheJDR.pro +++ b/FicheJDR.pro @@ -14,9 +14,6 @@ SOURCES += \ mainwindow.cpp HEADERS += \ - Feature.h \ - Skill.h \ - SpecialSkill.h \ character.h \ mainwindow.h diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/Feature.h.E0DE717813A68A5C.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/Feature.h.E0DE717813A68A5C.idx index ebfa256..5068270 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/Feature.h.E0DE717813A68A5C.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/Feature.h.E0DE717813A68A5C.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QFrame.D3857D6C9F7945F4.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QFrame.D3857D6C9F7945F4.idx new file mode 100644 index 0000000..80b3f32 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QFrame.D3857D6C9F7945F4.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QLabel.1D2D9870AF49E14A.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QLabel.1D2D9870AF49E14A.idx new file mode 100644 index 0000000..6723b19 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QLabel.1D2D9870AF49E14A.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QLineEdit.1F14DCD3B8B219B5.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QLineEdit.1F14DCD3B8B219B5.idx new file mode 100644 index 0000000..f3550fe Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QLineEdit.1F14DCD3B8B219B5.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QList.EDD49C0AE405A14B.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QList.EDD49C0AE405A14B.idx new file mode 100644 index 0000000..73c837b Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QList.EDD49C0AE405A14B.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QSpinBox.6861DE05B56193C7.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QSpinBox.6861DE05B56193C7.idx new file mode 100644 index 0000000..fc66fc1 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QSpinBox.6861DE05B56193C7.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QToolBar.630902AACA0BFEBD.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QToolBar.630902AACA0BFEBD.idx new file mode 100644 index 0000000..61b139c Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QToolBar.630902AACA0BFEBD.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/Skill.h.1932F354D81C0C9C.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/Skill.h.1932F354D81C0C9C.idx index 3daed01..1ba383c 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/Skill.h.1932F354D81C0C9C.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/Skill.h.1932F354D81C0C9C.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/SpecialSkill.h.6D3180F3453A3C25.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/SpecialSkill.h.6D3180F3453A3C25.idx index dcc50dd..16a356f 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/SpecialSkill.h.6D3180F3453A3C25.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/SpecialSkill.h.6D3180F3453A3C25.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/character.h.A7CC38751E8E8AEF.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/character.h.A7CC38751E8E8AEF.idx index 69de1d7..5e27ba1 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/character.h.A7CC38751E8E8AEF.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/character.h.A7CC38751E8E8AEF.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/main.cpp.22D986ED057C3D91.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/main.cpp.22D986ED057C3D91.idx index a33fbf7..617009c 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/main.cpp.22D986ED057C3D91.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/main.cpp.22D986ED057C3D91.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.cpp.2A4AD3FFCE72E917.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.cpp.2A4AD3FFCE72E917.idx index 68bdaf2..26d4089 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.cpp.2A4AD3FFCE72E917.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.cpp.2A4AD3FFCE72E917.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.h.DF3B3D8668DB37C8.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.h.DF3B3D8668DB37C8.idx index 633f1dd..4417d1d 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.h.DF3B3D8668DB37C8.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.h.DF3B3D8668DB37C8.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qabstractspinbox.h.D029656B80BE6A48.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qabstractspinbox.h.D029656B80BE6A48.idx new file mode 100644 index 0000000..a75fee8 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qabstractspinbox.h.D029656B80BE6A48.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qframe.h.482166E9492B6B9F.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qframe.h.482166E9492B6B9F.idx new file mode 100644 index 0000000..91370fa Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qframe.h.482166E9492B6B9F.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qiodevice.h.4DD6DFCD503258D6.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qiodevice.h.4DD6DFCD503258D6.idx new file mode 100644 index 0000000..2dabe67 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qiodevice.h.4DD6DFCD503258D6.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qlabel.h.B282AF82498BBCDA.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qlabel.h.B282AF82498BBCDA.idx new file mode 100644 index 0000000..7a77b92 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qlabel.h.B282AF82498BBCDA.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qlineedit.h.35D443A623A17CF8.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qlineedit.h.35D443A623A17CF8.idx new file mode 100644 index 0000000..7084967 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qlineedit.h.35D443A623A17CF8.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qpen.h.2D5E6AA4D0CBB4C8.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qpen.h.2D5E6AA4D0CBB4C8.idx new file mode 100644 index 0000000..8dbaf46 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qpen.h.2D5E6AA4D0CBB4C8.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qpicture.h.22C8C7897FB24C21.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qpicture.h.22C8C7897FB24C21.idx new file mode 100644 index 0000000..bcc3f06 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qpicture.h.22C8C7897FB24C21.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qregularexpression.h.8FE0E724AD3243CF.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qregularexpression.h.8FE0E724AD3243CF.idx new file mode 100644 index 0000000..4d67a77 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qregularexpression.h.8FE0E724AD3243CF.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qspinbox.h.7EBDB016A79DCCEB.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qspinbox.h.7EBDB016A79DCCEB.idx new file mode 100644 index 0000000..45992fb Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qspinbox.h.7EBDB016A79DCCEB.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextcursor.h.4EEB5DB96587CEE9.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextcursor.h.4EEB5DB96587CEE9.idx new file mode 100644 index 0000000..6c0852f Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextcursor.h.4EEB5DB96587CEE9.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextdocument.h.526C0D06347116FB.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextdocument.h.526C0D06347116FB.idx new file mode 100644 index 0000000..ba1676d Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextdocument.h.526C0D06347116FB.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextformat.h.18AFC4A4C8E78814.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextformat.h.18AFC4A4C8E78814.idx new file mode 100644 index 0000000..6d01789 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextformat.h.18AFC4A4C8E78814.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextoption.h.E2FBBE8E22D0B437.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextoption.h.E2FBBE8E22D0B437.idx new file mode 100644 index 0000000..93892f3 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtextoption.h.E2FBBE8E22D0B437.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtoolbar.h.A37D0C63776DC242.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtoolbar.h.A37D0C63776DC242.idx new file mode 100644 index 0000000..b5d9c09 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtoolbar.h.A37D0C63776DC242.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qurl.h.1A252A0352EBB15A.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qurl.h.1A252A0352EBB15A.idx new file mode 100644 index 0000000..22b0df4 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qurl.h.1A252A0352EBB15A.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qvalidator.h.5E86C69BA53D2B62.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qvalidator.h.5E86C69BA53D2B62.idx new file mode 100644 index 0000000..c57f0bc Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qvalidator.h.5E86C69BA53D2B62.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ui_mainwindow.h.EFECBBF5C95CDB15.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ui_mainwindow.h.EFECBBF5C95CDB15.idx index 0bd1fb5..2cba196 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ui_mainwindow.h.EFECBBF5C95CDB15.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ui_mainwindow.h.EFECBBF5C95CDB15.idx differ diff --git a/Skill.h b/Skill.h deleted file mode 100644 index c185785..0000000 --- a/Skill.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef SKILL_H -#define SKILL_H - - -#include - -struct Skill { - std::string name; - int value; -}; - -#endif // SKILL_H diff --git a/SpecialSkill.h b/SpecialSkill.h deleted file mode 100644 index 4cab555..0000000 --- a/SpecialSkill.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef SPECIALSKILL_H -#define SPECIALSKILL_H - -#include - -struct SpecialSkill { - std::string name; - int value; -}; - -#endif // SPECIALSKILL_H diff --git a/character.cpp b/character.cpp index 1e9796b..df4e2de 100644 --- a/character.cpp +++ b/character.cpp @@ -1,5 +1,54 @@ #include "character.h" +#include +#include +#include +#include +#include -Character::Character() { - +Character::Character(){ + for(int i = 0; i<6; i++){skills.append(0);} + for(int i = 0; i<6; i++){skillsMod.append(0);} + for(int i = 0; i<18; i++){stats.append(0);} + image = "data/images/logo.png"; +} + +Character::Character(QFile *file){ + if (!file->open(QIODevice::ReadOnly)) { + qWarning() << "Could not open file:" << file->errorString(); + return; + } + QByteArray data = file->readAll(); + file->close(); + QJsonDocument doc = QJsonDocument::fromJson(data); + if (doc.isNull()) { + qWarning() << "Failed to create JSON document"; + return; + } + + QJsonObject json = doc.object(); + nom = json["name"].toString(); + age = json["age"].toInt(); + race = json["race"].toString(); + classe = json["classe"].toString(); + niveau = json["niveau"].toInt(); + sexe = json["sexe"].toString(); + taille = json["taille"].toDouble(); + vie = json["vie"].toInt(); + image = json["image"].toString(); + + QJsonArray skillArray = json["skills"].toArray(); + for (int i = 0; i < skillArray.size(); ++i) { + int skillValue = skillArray[i].toInt(); + skills.append(skillValue); + } + QJsonArray skillModArray = json["skillsMod"].toArray(); + for (int i = 0; i < skillModArray.size(); ++i) { + int skillModValue = skillModArray[i].toInt(); + skillsMod.append(skillModValue); + } + QJsonArray statArray = json["stats"].toArray(); + for (int i = 0; i < statArray.size(); ++i) { + int statValue = statArray[i].toInt(); + stats.append(statValue); + } } diff --git a/character.h b/character.h index 91feac7..d78925a 100644 --- a/character.h +++ b/character.h @@ -1,23 +1,43 @@ #ifndef CHARACTER_H #define CHARACTER_H -#include "Feature.h" -#include "Skill.h" -#include "SpecialSkill.h" - #include +#include using namespace std; class Character{ private: - string name; - string age; - QList features; - QList skills; - QList specialSkills; + QString nom; + int age; + QString race; + QString classe; + int niveau; + QString sexe; + float taille; + QList skills; + QList skillsMod; + QList stats; + int vie; + QString image; + public: Character(); + Character(QFile *file); + + QString getImage(){return image;} + QString getNom(){return nom;} + int getAge(){return age;} + QString getRace(){return race;} + QString getClasse(){return classe;} + int getNiveau(){return niveau;} + QString getSexe(){return sexe;} + float getTaille(){return taille;} + QList getSkills(){return skills;} + QList getSkillsMod(){return skillsMod;} + QList getStats(){return stats;} + int getVie(){return vie;} + }; #endif // CHARACTER_H diff --git a/data/images/add.png b/data/images/add.png new file mode 100644 index 0000000..12574b5 Binary files /dev/null and b/data/images/add.png differ diff --git a/data/images/bold.png b/data/images/bold.png new file mode 100644 index 0000000..fe737cd Binary files /dev/null and b/data/images/bold.png differ diff --git a/data/images/copy.png b/data/images/copy.png new file mode 100644 index 0000000..cb3442c Binary files /dev/null and b/data/images/copy.png differ diff --git a/data/images/create.png b/data/images/create.png new file mode 100644 index 0000000..fdfd4b4 Binary files /dev/null and b/data/images/create.png differ diff --git a/data/images/cut.png b/data/images/cut.png new file mode 100644 index 0000000..74b1530 Binary files /dev/null and b/data/images/cut.png differ diff --git a/data/images/edit_redo.png b/data/images/edit_redo.png new file mode 100644 index 0000000..8a77254 Binary files /dev/null and b/data/images/edit_redo.png differ diff --git a/data/images/edit_undo.png b/data/images/edit_undo.png new file mode 100644 index 0000000..852f5e3 Binary files /dev/null and b/data/images/edit_undo.png differ diff --git a/data/images/exit.png b/data/images/exit.png new file mode 100644 index 0000000..677d4de Binary files /dev/null and b/data/images/exit.png differ diff --git a/data/images/font-color.png b/data/images/font-color.png new file mode 100644 index 0000000..9cbbd43 Binary files /dev/null and b/data/images/font-color.png differ diff --git a/data/images/font-size.png b/data/images/font-size.png new file mode 100644 index 0000000..b38bc84 Binary files /dev/null and b/data/images/font-size.png differ diff --git a/data/images/font.png b/data/images/font.png new file mode 100644 index 0000000..925e501 Binary files /dev/null and b/data/images/font.png differ diff --git a/data/images/info.png b/data/images/info.png new file mode 100644 index 0000000..9731212 Binary files /dev/null and b/data/images/info.png differ diff --git a/data/images/italic.png b/data/images/italic.png new file mode 100644 index 0000000..337aac2 Binary files /dev/null and b/data/images/italic.png differ diff --git a/data/images/logo.png b/data/images/logo.png new file mode 100644 index 0000000..03ece10 Binary files /dev/null and b/data/images/logo.png differ diff --git a/data/images/new.png b/data/images/new.png new file mode 100644 index 0000000..b24edc5 Binary files /dev/null and b/data/images/new.png differ diff --git a/data/images/open.png b/data/images/open.png new file mode 100644 index 0000000..7b052ed Binary files /dev/null and b/data/images/open.png differ diff --git a/data/images/overline.png b/data/images/overline.png new file mode 100644 index 0000000..e8bc768 Binary files /dev/null and b/data/images/overline.png differ diff --git a/data/images/paste.png b/data/images/paste.png new file mode 100644 index 0000000..c50dbd9 Binary files /dev/null and b/data/images/paste.png differ diff --git a/data/images/pencil.png b/data/images/pencil.png new file mode 100644 index 0000000..a9c5e54 Binary files /dev/null and b/data/images/pencil.png differ diff --git a/data/images/print.png b/data/images/print.png new file mode 100644 index 0000000..0cd3f28 Binary files /dev/null and b/data/images/print.png differ diff --git a/data/images/save.png b/data/images/save.png new file mode 100644 index 0000000..e65a29d Binary files /dev/null and b/data/images/save.png differ diff --git a/data/images/save_as.png b/data/images/save_as.png new file mode 100644 index 0000000..6040574 Binary files /dev/null and b/data/images/save_as.png differ diff --git a/data/images/underline.png b/data/images/underline.png new file mode 100644 index 0000000..437c45b Binary files /dev/null and b/data/images/underline.png differ diff --git a/data/p1.txt b/data/p1.txt new file mode 100644 index 0000000..4444dcd --- /dev/null +++ b/data/p1.txt @@ -0,0 +1,14 @@ +{ + name : "ujunb", + age : 12, + race : "zifzi", + classe : "uhuh", + niveau : 2, + sexe : "H", + taille : 1.2, + vie : 2, + image : "data/images/logo.png", + skills : [1,1,1,1,1,1], + skillsMod : [1,1,1,1,1,1], + stats : [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] +} \ No newline at end of file diff --git a/mainwindow.cpp b/mainwindow.cpp index 35373b9..7b98afc 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,6 +1,14 @@ #include "mainwindow.h" #include "ui_mainwindow.h" +#include +#include +#include +#include +#include + +using namespace std; + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) @@ -10,6 +18,9 @@ MainWindow::MainWindow(QWidget *parent) currentCharacter = c; characters.append(c); ui->ageLineEdit->setValidator(new QIntValidator(0, 999999, ui->ageLineEdit)); + ui->niveauLineEdit->setValidator(new QIntValidator(0, 999999, ui->niveauLineEdit)); + ui->tailleLineEdit->setValidator(new QDoubleValidator(0.0, 999999.0, 1,ui->tailleLineEdit)); + loadImage(QString("data/images/logo.png")); } MainWindow::~MainWindow() @@ -22,6 +33,192 @@ MainWindow::~MainWindow() } } + + +void MainWindow::loadNewCharacter(){ + QString fileName = QFileDialog::getOpenFileName(this, "Open the file"); + if(fileName.isEmpty()) return; + QFile file(fileName); + if(!file.open(QIODevice::ReadOnly | QFile::Text)) { + QMessageBox::warning(this, "Warning", "Fichier non valide" + file.errorString()); + return; + } + + file.close(); + + Character* c = new Character(&file); + currentCharacter = c; + characters.append(c); + createNewCharacter(c); + currentFile = fileName; +} + +void MainWindow::createNewCharacter(Character* p) { + currentCharacter = p; + characters.append(p); + + ui->nomLineEdit->setText(p->getNom()); + ui->ageLineEdit->setText(QString::number(p->getAge())); + ui->raceLineEdit->setText(p->getRace()); + ui->classeLineEdit->setText(p->getClasse()); + ui->niveauLineEdit->setText(QString::number(p->getNiveau())); + ui->sexeLineEdit->setText(p->getSexe()); + ui->tailleLineEdit->setText(QString::number(p->getTaille())); + + ui->charismeSpinBox->setValue(p->getSkills()[0]); + ui->dexteriteSpinBox->setValue(p->getSkills()[1]); + ui->enduranceSpinBox->setValue(p->getSkills()[2]); + ui->forceSpinBox->setValue(p->getSkills()[3]); + ui->intelligenceSpinBox->setValue(p->getSkills()[4]); + ui->sagesseSpinBox->setValue(p->getSkills()[5]); + + ui->modCharismeSpinBox->setValue(p->getSkillsMod()[0]); + ui->modDexteriteSpinBox->setValue(p->getSkillsMod()[1]); + ui->modEnduranceSpinBox->setValue(p->getSkillsMod()[2]); + ui->modForceSpinBox->setValue(p->getSkillsMod()[3]); + ui->modIntelligenceSpinBox->setValue(p->getSkillsMod()[4]); + ui->modSagesseSpinBox->setValue(p->getSkillsMod()[5]); + + for (int i = 0; i < p->getStats().size(); ++i) { + QString spinBoxName = QString("spinBox%1").arg(i+1); + QSpinBox* spinBox = this->findChild(spinBoxName); + if (spinBox) { + spinBox->setValue(p->getStats()[i]); + } + } + loadImage(p->getImage()); +} + + +void MainWindow::loadImage(QString fileName) { + QString ext[] = {"png", "jpeg", "jpg"}; + QFile file(fileName); + if (!file.open(QIODevice::ReadOnly | QFile::Text)) { + QMessageBox::warning(this, "Warning", "Cannot open image: " + + file.errorString()); + }else{ + QString text = file.fileName(); + bool acceptedExt = false; + for(QString e : ext) { + if(text.endsWith(e)) acceptedExt = true; + } + if(!acceptedExt) { + QMessageBox::warning(this, "Warning", "Format de fichier incorrect"); + return; + } + ui->imageLabel->setText(text); + QPixmap px(fileName); + ui->imageLabel->setPixmap(px); + file.close(); + } +} + +void MainWindow::exportJson(){ + QString fileName; + if (currentFile.isEmpty()) { + fileName = QFileDialog::getSaveFileName(this, "Save"); + currentFile = fileName; + } else { + fileName = currentFile; + } + QFile file(fileName); + if (!file.open(QIODevice::WriteOnly | QFile::Text)) { + QMessageBox::warning(this, "Warning", "Cannot save file: " + file.errorString()); + return; + } + setWindowTitle(fileName); + + if(edition){ + //appelle a funct qui prend val ui pour mettre dans c + } + //Prend de c pour mettre dans json + QJsonObject json; + /* + json["name"] = ui->titleEdit->text(); + json["city"] =ui->locEdit->text(); + json["departement"] = ui->depSpin->text(); + json["difficulty"] = ui->diffSpin->value(); + json["duration"] = ui->durationSpin->value(); + json["length"] = ui->lengthSpin->value(); + json["image"] = ui->imagePath->text(); + + QJsonArray steps; + int cpt=0; + for(Step step: currentPath->getStep()){ + cpt++; + QJsonObject stepObject; + stepObject["numero"] = cpt; + stepObject["title"] = step.getTitle(); + stepObject["GPS"] = step.toGPSFormat(); + stepObject["reponse"] = step.getResponse(); + QJsonArray dialogues; + for(int i=0; ititleEdit->text(); + json["city"] =ui->locEdit->text(); + json["departement"] = ui->depSpin->text(); + json["difficulty"] = ui->diffSpin->value(); + json["duration"] = ui->durationSpin->value(); + json["length"] = ui->lengthSpin->value(); + json["image"] = ui->imagePath->text(); + + QJsonArray steps; + int cpt=0; + for(Step step: currentPath->getStep()){ + cpt++; + QJsonObject stepObject; + stepObject["numero"] = cpt; + stepObject["title"] = step.getTitle(); + stepObject["GPS"] = step.toGPSFormat(); + stepObject["reponse"] = step.getResponse(); + QJsonArray dialogues; + for(int i=0; iloadNewCharacter();} +void MainWindow::on_actionNouvelle_fiche_triggered(){this->createNewCharacter(new Character());} +void MainWindow::on_actionSauvegarder_triggered(){this->exportJson();} +void MainWindow::on_actionEnregistrer_sous_triggered(){this->exportJsonAs();} +void MainWindow::on_actionFermer_triggered(){QApplication::quit();} + diff --git a/mainwindow.h b/mainwindow.h index 2237d65..d276184 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -19,11 +19,18 @@ public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); + void loadImage(QString fileName); + void createNewCharacter(Character* p); + void loadNewCharacter(); + void exportJson(); + void exportJsonAs(); private slots: void on_actionEditer_triggered(); - void on_actionBlocNote_triggered(); + void on_actionOuvrir_une_fiche_triggered(); + void on_actionNouvelle_fiche_triggered(); + void on_actionSauvegarder_triggered(); private: Ui::MainWindow *ui; diff --git a/mainwindow.ui b/mainwindow.ui index 97b842c..1d3d7a3 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -27,7 +27,7 @@ - QFrame::NoFrame + QFrame::Shape::NoFrame @@ -39,7 +39,7 @@ - QFrame::NoFrame + QFrame::Shape::NoFrame @@ -64,7 +64,10 @@ - ggdgdgggdggdg + Logo + + + true @@ -165,7 +168,7 @@ Taille - + 210 @@ -175,7 +178,7 @@ - + 210 @@ -185,7 +188,7 @@ - + 210 @@ -195,7 +198,7 @@ - + 210 @@ -205,7 +208,7 @@ - + 210 @@ -226,7 +229,7 @@ - QFrame::NoFrame + QFrame::Shape::NoFrame @@ -420,7 +423,7 @@ 20 - + 191 @@ -433,7 +436,7 @@ 20 - + 191 @@ -446,7 +449,7 @@ 20 - + 191 @@ -459,7 +462,7 @@ 20 - + 191 @@ -472,7 +475,7 @@ 20 - + 191 @@ -497,7 +500,7 @@ - QFrame::NoFrame + QFrame::Shape::NoFrame @@ -509,9 +512,9 @@ - QFrame::NoFrame + QFrame::Shape::NoFrame - + 271 @@ -524,7 +527,7 @@ Histoire (INT) - + 507 @@ -537,7 +540,7 @@ Représentation (CHA) - + 35 @@ -550,7 +553,7 @@ Discrétion (DEX) - + 35 @@ -563,7 +566,7 @@ Dressage (SAG) - + 507 @@ -576,7 +579,7 @@ Religion (INT) - + 35 @@ -589,7 +592,7 @@ Arcanes (INT) - + 507 @@ -602,7 +605,7 @@ Persuasion (CHA) - + 507 @@ -615,7 +618,7 @@ Perspicacité (SAG) - + 271 @@ -628,7 +631,7 @@ Intimidation (CHA) - + 271 @@ -641,7 +644,7 @@ Investigation (INT) - + 35 @@ -654,7 +657,7 @@ Athlétisme (FOR) - + 271 @@ -667,7 +670,7 @@ Nature (INT) - + 271 @@ -680,7 +683,7 @@ Perception (SAG) - + 35 @@ -693,7 +696,7 @@ Acrobaties (DEX) - + 35 @@ -706,7 +709,7 @@ Escamotage (DEX) - + 271 @@ -719,7 +722,7 @@ Médecine (SAG) - + 166 @@ -732,7 +735,7 @@ 100 - + 166 @@ -745,7 +748,7 @@ 100 - + 166 @@ -758,7 +761,7 @@ 100 - + 166 @@ -771,7 +774,7 @@ 100 - + 166 @@ -784,7 +787,7 @@ 100 - + 166 @@ -797,7 +800,7 @@ 100 - + 402 @@ -810,7 +813,7 @@ 100 - + 402 @@ -823,7 +826,7 @@ 100 - + 402 @@ -836,7 +839,7 @@ 100 - + 402 @@ -849,7 +852,7 @@ 100 - + 402 @@ -862,7 +865,7 @@ 100 - + 402 @@ -875,7 +878,7 @@ 100 - + 658 @@ -888,7 +891,7 @@ 100 - + 658 @@ -901,7 +904,7 @@ 100 - + 658 @@ -914,7 +917,7 @@ 100 - + 658 @@ -927,7 +930,7 @@ 100 - + 507 @@ -940,7 +943,7 @@ Survie (SAG) - + 507 @@ -953,7 +956,7 @@ Tromperie (CHA) - + 658 @@ -966,7 +969,7 @@ 100 - + 658 @@ -988,13 +991,14 @@ 0 0 800 - 21 + 25 Fichier + @@ -1076,26 +1080,29 @@ - - .. + Editer - QAction::NoRole + QAction::MenuRole::NoRole - - .. + BlocNote - QAction::NoRole + QAction::MenuRole::NoRole + + + + + Nouvelle fiche