diff --git a/grille.cpp b/grille.cpp index 4cfc68f0c6b084385f85638bd5d45ecb42128ec6..fafed4c2e64512b6f8f8503f5793035d5400e599 100644 --- a/grille.cpp +++ b/grille.cpp @@ -7,7 +7,7 @@ using namespace std; Grille::Grille(QObject *parent) : QObject(parent){ - ifstream myFile("../sudoku/grilles/grilleDebutant.csv"); //choisir la grille ici + ifstream myFile("./grilles/grilleFacile.csv"); //choisir la grille ici string ligne[9]; int i = 0; @@ -42,6 +42,31 @@ Grille::Grille(QObject *parent) : QObject(parent){ } } +void Grille::save_grid(){ + //save the current play + + ofstream myFile("./grilles/grid_current.csv"); + for (int i=0;i<9;i++){ + for (int j=0;j<8;j++){ + string output; + if (grille[i][j]!="") + output =grille[i][j]; + else + output = "."; + myFile << output << "|" ; + } + if (grille[i][8]!="") + myFile << grille[i][8]; + else + myFile << "." ; + myFile << "\n"; + } + myFile.close(); + cout << "enregistrement en cours" << endl; +} + + + void Grille::verif_matrice(){ // verifie si la grille remplie par le joueur vérifie les règles du sudoku ou non bool victoire = true; diff --git a/grille.h b/grille.h index 999aec29044b158fa4a3db3f1b92b304ab920f9f..e1fc2b208f0b9d5bd1e130d8deb0493af14b3acb 100644 --- a/grille.h +++ b/grille.h @@ -21,6 +21,7 @@ public: Q_INVOKABLE void verif_matrice( ); Q_INVOKABLE void set_chiffre_actif(int i); void Print(); + void save_grid(); private: diff --git a/main.cpp b/main.cpp index cbca0cbcf7142600d75670d1a9a945a29ef47d76..fa34fd486fe032b01024c3be18be451b49029165 100644 --- a/main.cpp +++ b/main.cpp @@ -3,6 +3,7 @@ #include <iostream> #include <string> #include <QQmlContext> +#include <QIcon> #include "grille.h" @@ -12,6 +13,7 @@ int main(int argc, char *argv[]){ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); +// app.setWindowIcon(QIcon("./icon_sudoku.png")); //pour mettre un icone, ne fonctionne pas Grille aGrille ; QQmlApplicationEngine engine; const QUrl url(QStringLiteral("qrc:/main.qml")); @@ -23,5 +25,8 @@ int main(int argc, char *argv[]){ engine.rootContext()->setContextProperty("vueObjetCpt", &aGrille); engine.load(url); + + + return app.exec(); } diff --git a/main.qml b/main.qml index fabb9d86a5ccc85e3a210e478657ef51de142239..ebabbb5dcfeda362a17c6571450060411ffc83fd 100644 --- a/main.qml +++ b/main.qml @@ -126,6 +126,16 @@ Window { } property alias repeater : repeater + MenuBar { + id : menubar + Menu{ + title:qsTr("&File") + + Action { text : qsTr("&New File")} + } + } + + Rectangle{ id : background x:3 @@ -138,25 +148,25 @@ Window { height : childrenRect.height+6 - Grid{ - id : grid - x: 3 - y:3 - rows:3 - columns:3 - spacing :2 - Repeater{ - id : repeater - model : 9 + Grid{ + id : grid + x: 3 + y:3 + rows:3 + columns:3 + spacing :2 + Repeater{ + id : repeater + model : 9 - Carre{ - id : case1 - width : 213 - height:213 + Carre{ + id : case1 + width : 213 + height:213 + } } } } -} Button { id: button_check diff --git a/sudoku.pro.user b/sudoku.pro.user index 53934b2442dc0f3f4db1bf089f2e668477aa5e17..ebfba85441959fff365f3ba9c0fc106f7ce4f42e 100644 --- a/sudoku.pro.user +++ b/sudoku.pro.user @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE QtCreatorProject> -<!-- Written by QtCreator 4.14.1, 2021-04-08T22:26:13. --> +<!-- Written by QtCreator 4.14.1, 2021-04-08T22:57:14. --> <qtcreator> <data> <variable>EnvironmentId</variable> @@ -96,8 +96,8 @@ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <value type="int" key="EnableQmlDebugging">0</value> - <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\Simon\Documents\travail\ECL\Electifs\Programmation des interfaces graphiques en C++\Projet\projet_sudoku_v2\build-sudoku-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value> - <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/Simon/Documents/travail/ECL/Electifs/Programmation des interfaces graphiques en C++/Projet/projet_sudoku_v2/build-sudoku-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value> + <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\Simon\Documents\travail\ECL\Electifs\Programmation des interfaces graphiques en C++\Projet\projet_sudoku</value> + <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/Simon/Documents/travail/ECL/Electifs/Programmation des interfaces graphiques en C++/Projet/projet_sudoku</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>