Wt examples
3.2.1
|
#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.