diff --git a/src/screens/endgamescreen.cpp b/src/screens/endgamescreen.cpp index 22d118c..eddc4d8 100644 --- a/src/screens/endgamescreen.cpp +++ b/src/screens/endgamescreen.cpp @@ -3,7 +3,7 @@ #include EndGameScreen::EndGameScreen(const int score, QWidget *parent) - : QWidget(parent), scoreLabel(new QLabel(this)) { + : QWidget(parent), scoreLabel(new QLabel(this)), nameLineEdit(new QLineEdit(this)) { // Load custom font const int id = QFontDatabase::addApplicationFont(":/images/game_played.otf"); const QString family = QFontDatabase::applicationFontFamilies(id).at(0); @@ -15,7 +15,7 @@ EndGameScreen::EndGameScreen(const int score, QWidget *parent) // Étiquette de texte pour afficher le message de fin de jeu const auto endGameLabel = new QLabel("Game Over!", this); - endGameLabel->setFont(snakefont); // Police en gras et taille 36 + endGameLabel->setFont(snakefont); endGameLabel->setAlignment(Qt::AlignCenter); // Centrez le texte // Étiquette de texte pour afficher le score @@ -23,12 +23,35 @@ EndGameScreen::EndGameScreen(const int score, QWidget *parent) scoreLabel->setFont(QFont("Arial", 24, QFont::Bold)); // Police en gras et taille 24 scoreLabel->setAlignment(Qt::AlignCenter); // Centrez le texte - // Ajouter l'étiquette de score au layout + // l'étiquette de score au layout layout->addStretch(); layout->addWidget(endGameLabel); layout->addWidget(scoreLabel); layout->addStretch(); - // Définir le layout pour la fenêtre + //zone de saisie de texte pour le nom + nameLineEdit->setPlaceholderText("Enter your name"); // Texte d'invite + nameLineEdit->setFont(QFont("Arial", 16)); // Police de taille 16 + + //bouton de soumission du nom + QPushButton *submitButton = new QPushButton("Submit", this); + + // Centrer horizontalement le champ de saisie et le bouton + layout->setAlignment(Qt::AlignHCenter); + + connect(submitButton, &QPushButton::clicked, this, &EndGameScreen::submitName); + + // Ajouter les widgets au layout + layout->addWidget(nameLineEdit); + layout->addWidget(submitButton); + + // Déf layout pour la fenêtre setLayout(layout); } + +//slot submitName pour clic bouton de soumission du nom +void EndGameScreen::submitName() { + QString playerName = nameLineEdit->text(); // Récupérer le texte saisi dans la zone de saisie + // Effectuer le traitement nécessaire avec le nom du joueur, par exemple, l'envoyer à une fonction de gestion des scores + // Ou afficher le nom quelque part +} \ No newline at end of file diff --git a/src/screens/endgamescreen.hpp b/src/screens/endgamescreen.hpp index 9035d6f..4592758 100644 --- a/src/screens/endgamescreen.hpp +++ b/src/screens/endgamescreen.hpp @@ -6,6 +6,8 @@ #include #include #include +#include +#include class EndGameScreen final : public QWidget { Q_OBJECT @@ -13,8 +15,12 @@ Q_OBJECT public: explicit EndGameScreen(int score, QWidget *parent = nullptr); +private slots: + void submitName(); + private: QLabel *scoreLabel; + QLineEdit *nameLineEdit; }; #endif //SNAKEQT_ENDGAMESCREEN_HPP