From 74fe3b262763761970be25889b552c5984e1c88c Mon Sep 17 00:00:00 2001 From: sdelplan <sara.delplanque@etu.ec-lyon.fr> Date: Mon, 31 Mar 2025 09:09:53 +0200 Subject: [PATCH] ajout fonction calcul score --- applicationQT2048/gamemanager.cpp | 19 ++++++++++++++++++- applicationQT2048/gamemanager.h | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/applicationQT2048/gamemanager.cpp b/applicationQT2048/gamemanager.cpp index be6a6aa..810fd89 100644 --- a/applicationQT2048/gamemanager.cpp +++ b/applicationQT2048/gamemanager.cpp @@ -47,6 +47,7 @@ void GameManager::moveLeft() { //Mettre a jour l'état et l'enregistrer historyArray.append(gridToJsonArray()); emit gridChanged(); + emit calculscore(); } void GameManager::moveRight() { @@ -88,6 +89,7 @@ void GameManager::moveRight() { //Mettre a jour l'état et l'enregistrer historyArray.append(gridToJsonArray()); emit gridChanged(); + emit calculscore(); } @@ -136,6 +138,7 @@ void GameManager::moveUp() { //Mettre a jour l'état et l'enregistrer historyArray.append(gridToJsonArray()); emit gridChanged(); + emit calculscore(); } void GameManager::moveDown() { @@ -181,6 +184,7 @@ void GameManager::moveDown() { //Mettre a jour l'état et l'enregistrer historyArray.append(gridToJsonArray()); emit gridChanged(); + emit calculscore(); } @@ -219,6 +223,7 @@ void GameManager::restartGame() { //Mettre a jour l'état et l'enregistrer historyArray.append(gridToJsonArray()); emit gridChanged(); + emit calculscore(); } @@ -242,7 +247,7 @@ void GameManager::addRandomElement() { int row = emptyCells[randomIndex].first; int col = emptyCells[randomIndex].second; - // Placer un '2' dans cette case + // Placer un '2'ou un '4' dans cette case int randValue = std::rand() % 100; if (randValue < 75) { grid[row][col] = 2; @@ -314,6 +319,7 @@ void GameManager::undo() { } emit gridChanged(); // Notifiez que la grille a changé + emit calculscore(); } } @@ -382,4 +388,15 @@ void GameManager::chargerPartie(QString partieName){ file.close(); } +void GameManager::calculscore(){ + // Parcourir la grille pour additionner toute les cases + int score=0; + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + score=grid[i][j]+score; + + } + } + +} diff --git a/applicationQT2048/gamemanager.h b/applicationQT2048/gamemanager.h index 445ffa2..8e2fd68 100644 --- a/applicationQT2048/gamemanager.h +++ b/applicationQT2048/gamemanager.h @@ -36,6 +36,7 @@ private: Q_INVOKABLE void addRandomElement(); Q_INVOKABLE void enregistrerPartie(QString partieName); + Q_INVOKABLE void calculscore(); QJsonArray gridToJsonArray(); -- GitLab