From 0f111967d746b5d9d74f62ad5f1415ab156ff449 Mon Sep 17 00:00:00 2001 From: totycro Date: Sun, 10 Apr 2011 01:31:55 +0200 Subject: transmit game score --- pacman-c++/mainwidget.cpp | 46 ++++++++++++++++++++-------------------------- 1 file changed, 20 insertions(+), 26 deletions(-) (limited to 'pacman-c++/mainwidget.cpp') diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp index b140871..c21e81d 100644 --- a/pacman-c++/mainwidget.cpp +++ b/pacman-c++/mainwidget.cpp @@ -65,6 +65,7 @@ void MainWidget::createGui() window->setAlignment(Qt::AlignLeft | Qt::AlignTop); window->setFixedSize(Constants::map_size_pixel.width, Constants::map_size_pixel.height); window->setWindowFlags(window->windowFlags() & ~Qt::WindowMaximizeButtonHint); + window->setFocusPolicy(Qt::NoFocus); layout->addLayout(scoreLayout); layout->addWidget(window); @@ -76,35 +77,27 @@ void MainWidget::createGui() setLayout(layout); } -void MainWidget::updateScore() +void MainWidget::updateScore(const ProtoBuf::MapUpdate& packet) { - QMapIterator i(m_actors); - while (i.hasNext()) - { - i.next(); - if (i.key() > Color::max) - { - /* player #4 isn't supported in score */ - Q_ASSERT(false); - continue; - } - int id = (i.key() >> 1); - QLabel *turnPointsLbl = - dynamic_cast(m_playerScoreLayouts.at(id)->itemAtPosition(0,1)->widget()); - QLabel *allPointsLbl = - dynamic_cast(m_playerScoreLayouts.at(id)->itemAtPosition(1,1)->widget()); - turnPointsLbl->setText(QString::number(id)); - allPointsLbl->setText(QString::number(id)); - } + QLabel *turnPointsLbl; + QLabel *allPointsLbl; + + turnPointsLbl = dynamic_cast(m_playerScoreLayouts.at(0)->itemAtPosition(0,1)->widget()); + allPointsLbl = dynamic_cast(m_playerScoreLayouts.at(0)->itemAtPosition(1,1)->widget()); + turnPointsLbl->setText(QString::number(packet.round_points_red())); + allPointsLbl->setText(QString::number(packet.game_points_red())); + + turnPointsLbl = dynamic_cast(m_playerScoreLayouts.at(1)->itemAtPosition(0,1)->widget()); + allPointsLbl = dynamic_cast(m_playerScoreLayouts.at(1)->itemAtPosition(1,1)->widget()); + turnPointsLbl->setText(QString::number(packet.round_points_blue())); + allPointsLbl->setText(QString::number(packet.game_points_blue())); + + turnPointsLbl = dynamic_cast(m_playerScoreLayouts.at(2)->itemAtPosition(0,1)->widget()); + allPointsLbl = dynamic_cast(m_playerScoreLayouts.at(2)->itemAtPosition(1,1)->widget()); + turnPointsLbl->setText(QString::number(packet.round_points_green())); + allPointsLbl->setText(QString::number(packet.game_points_green())); } -void MainWidget::updateMap(const Transmission::map_t& map) -{ - SceneHolder::updateMap(map); - updateScore(); -} - - Transmission::field_t MainWidget::translateKey(int key, int def) { switch(key) @@ -166,6 +159,7 @@ void MainWidget::tick() } } updateMap(map); + updateScore(packet); } } -- cgit v1.2.3