|
Wt examples
3.3.0
|
#include <HangmanWidget.h>

Public Member Functions | |
| HangmanWidget (const std::string &name, Wt::WContainerWidget *parent=0) | |
| Wt::Signal< int > & | scoreUpdated () |
Private Member Functions | |
| void | registerGuess (char c) |
| void | newGame () |
Private Attributes | |
| Wt::WText * | title_ |
| WordWidget * | word_ |
| ImagesWidget * | images_ |
| LettersWidget * | letters_ |
| Wt::WText * | statusText_ |
| Wt::WComboBox * | language_ |
| Wt::WPushButton * | newGameButton_ |
| Wt::Signal< int > | scoreUpdated_ |
| std::string | name_ |
| Dictionary | dictionary_ |
| int | badGuesses_ |
Definition at line 22 of file HangmanWidget.h.
| HangmanWidget::HangmanWidget | ( | const std::string & | name, |
| Wt::WContainerWidget * | parent = 0 |
||
| ) |
Definition at line 26 of file HangmanWidget.C.
: WContainerWidget(parent), name_(name), badGuesses_(0) { setContentAlignment(AlignCenter); title_ = new WText(tr("hangman.readyToPlay"), this); word_ = new WordWidget(this); statusText_ = new WText(this); images_ = new ImagesWidget(MaxGuesses, this); letters_ = new LettersWidget(this); letters_->letterPushed().connect(this, &HangmanWidget::registerGuess); language_ = new WComboBox(this); language_->addItem(tr("hangman.englishWords").arg(18957)); language_->addItem(tr("hangman.dutchWords").arg(1688)); new WBreak(this); newGameButton_ = new WPushButton(tr("hangman.newGame"), this); newGameButton_->clicked().connect(this, &HangmanWidget::newGame); letters_->hide(); }
| void HangmanWidget::newGame | ( | ) | [private] |
Definition at line 54 of file HangmanWidget.C.
{
WString title(tr("hangman.guessTheWord"));
title_->setText(title.arg(name_));
language_->hide();
newGameButton_->hide();
/*
* Choose a new secret word and reset the game
*/
Dictionary dictionary = (Dictionary) language_->currentIndex();
word_->init(RandomWord(dictionary));
letters_->reset();
badGuesses_ = 0;
images_->showImage(badGuesses_);
statusText_->setText("");
}
| void HangmanWidget::registerGuess | ( | char | c | ) | [private] |
Definition at line 73 of file HangmanWidget.C.
{
bool correct = word_->guess(c);
if (!correct) {
++badGuesses_;
images_->showImage(badGuesses_);
}
if (badGuesses_ == MaxGuesses) {
WString status(tr("hangman.youHang"));
statusText_->setText(status.arg(word_->word()));
letters_->hide();
language_->show();
newGameButton_->show();
scoreUpdated_.emit(-10);
} else if (word_->won()) {
statusText_->setText(tr("hangman.youWin"));
images_->showImage(ImagesWidget::HURRAY);
letters_->hide();
language_->show();
newGameButton_->show();
scoreUpdated_.emit(20 - badGuesses_);
}
}
| Wt::Signal<int>& HangmanWidget::scoreUpdated | ( | ) | [inline] |
Definition at line 27 of file HangmanWidget.h.
{ return scoreUpdated_; }
int HangmanWidget::badGuesses_ [private] |
Definition at line 45 of file HangmanWidget.h.
Dictionary HangmanWidget::dictionary_ [private] |
Definition at line 43 of file HangmanWidget.h.
ImagesWidget* HangmanWidget::images_ [private] |
Definition at line 33 of file HangmanWidget.h.
Wt::WComboBox* HangmanWidget::language_ [private] |
Definition at line 37 of file HangmanWidget.h.
LettersWidget* HangmanWidget::letters_ [private] |
Definition at line 34 of file HangmanWidget.h.
std::string HangmanWidget::name_ [private] |
Definition at line 42 of file HangmanWidget.h.
Wt::WPushButton* HangmanWidget::newGameButton_ [private] |
Definition at line 38 of file HangmanWidget.h.
Wt::Signal<int> HangmanWidget::scoreUpdated_ [private] |
Definition at line 40 of file HangmanWidget.h.
Wt::WText* HangmanWidget::statusText_ [private] |
Definition at line 36 of file HangmanWidget.h.
Wt::WText* HangmanWidget::title_ [private] |
Definition at line 30 of file HangmanWidget.h.
WordWidget* HangmanWidget::word_ [private] |
Definition at line 32 of file HangmanWidget.h.
1.7.5.1