Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
DenisD3D committed Apr 15, 2024
2 parents 939242a + 7e1e25e commit 598fc8b
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
31 changes: 27 additions & 4 deletions src/screens/endgamescreen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include <qfontdatabase.h>

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);
Expand All @@ -15,20 +15,43 @@ 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
const auto scoreLabel = new QLabel("Score: " + QString::number(score), this);
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
}
6 changes: 6 additions & 0 deletions src/screens/endgamescreen.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,21 @@
#include <QWidget>
#include <QLabel>
#include <QVBoxLayout>
#include <QLineEdit>
#include <QPushButton>

class EndGameScreen final : public QWidget {
Q_OBJECT

public:
explicit EndGameScreen(int score, QWidget *parent = nullptr);

private slots:
void submitName();

private:
QLabel *scoreLabel;
QLineEdit *nameLineEdit;
};

#endif //SNAKEQT_ENDGAMESCREEN_HPP

0 comments on commit 598fc8b

Please sign in to comment.