diff options
| -rw-r--r-- | pacman-c++/constants.h | 4 | ||||
| -rw-r--r-- | pacman-c++/mainwidget.cpp | 33 | ||||
| -rw-r--r-- | pacman-c++/pacman.proto | 8 | ||||
| -rw-r--r-- | pacman-c++/server.cpp | 15 |
4 files changed, 26 insertions, 34 deletions
diff --git a/pacman-c++/constants.h b/pacman-c++/constants.h index d81f474..e7330ae 100644 --- a/pacman-c++/constants.h +++ b/pacman-c++/constants.h | |||
| @@ -30,6 +30,10 @@ namespace Color | |||
| 30 | green = (1 << 2), | 30 | green = (1 << 2), |
| 31 | max = (1 << 2), | 31 | max = (1 << 2), |
| 32 | }; | 32 | }; |
| 33 | |||
| 34 | /* colororder used in protocol and gui */ | ||
| 35 | const Color order[] = | ||
| 36 | { Color::red, Color::blue, Color::green, Color::none }; | ||
| 33 | } | 37 | } |
| 34 | 38 | ||
| 35 | // constants for data transmission to client | 39 | // constants for data transmission to client |
diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp index f5d4b7f..9c53513 100644 --- a/pacman-c++/mainwidget.cpp +++ b/pacman-c++/mainwidget.cpp | |||
| @@ -41,10 +41,10 @@ void MainWidget::createGui() | |||
| 41 | QVBoxLayout *layout = new QVBoxLayout(this); | 41 | QVBoxLayout *layout = new QVBoxLayout(this); |
| 42 | QHBoxLayout *scoreLayout = new QHBoxLayout(); | 42 | QHBoxLayout *scoreLayout = new QHBoxLayout(); |
| 43 | 43 | ||
| 44 | for (unsigned int i = 1; i < 4; ++i) | 44 | for (unsigned int i = 0; Color::order[i] != Color::none ; ++i) |
| 45 | { | 45 | { |
| 46 | QGroupBox *scoreBox = new QGroupBox(QString("Spieler %1").arg(i), this); | 46 | QGroupBox *scoreBox = new QGroupBox(QString("Spieler %1").arg(i + 1), this); |
| 47 | scoreBox->setObjectName(QString("actor%1").arg(i)); | 47 | scoreBox->setObjectName(QString("actor%1").arg(i + 1)); |
| 48 | scoreBox->setCheckable(true); | 48 | scoreBox->setCheckable(true); |
| 49 | connect(scoreBox, SIGNAL(clicked()), this, SLOT(playerScoreClicked())); | 49 | connect(scoreBox, SIGNAL(clicked()), this, SLOT(playerScoreClicked())); |
| 50 | scoreLayout->addWidget(scoreBox); | 50 | scoreLayout->addWidget(scoreBox); |
| @@ -80,24 +80,15 @@ void MainWidget::createGui() | |||
| 80 | 80 | ||
| 81 | void MainWidget::updateScore(const ProtoBuf::MapUpdate& packet) | 81 | void MainWidget::updateScore(const ProtoBuf::MapUpdate& packet) |
| 82 | { | 82 | { |
| 83 | QLabel *turnPointsLbl; | 83 | for(unsigned i = 0; Color::order[i] != Color::none; ++i) |
| 84 | QLabel *allPointsLbl; | 84 | { |
| 85 | 85 | QGridLayout *score = m_playerScoreLayouts.at(i); | |
| 86 | //TODO: change proto and move that inside an array | 86 | QLabel *turnPointsLbl = dynamic_cast<QLabel*>(score->itemAtPosition(0, 1)->widget()); |
| 87 | turnPointsLbl = dynamic_cast<QLabel*>(m_playerScoreLayouts.at(0)->itemAtPosition(0,1)->widget()); | 87 | turnPointsLbl->setText(QString::number(packet.round_points(i))); |
| 88 | allPointsLbl = dynamic_cast<QLabel*>(m_playerScoreLayouts.at(0)->itemAtPosition(1,1)->widget()); | 88 | |
| 89 | turnPointsLbl->setText(QString::number(packet.round_points_red())); | 89 | QLabel *allPointsLbl = dynamic_cast<QLabel*>(score->itemAtPosition(1, 1)->widget()); |
| 90 | allPointsLbl->setText(QString::number(packet.game_points_red())); | 90 | allPointsLbl->setText(QString::number(packet.round_points(i))); |
| 91 | 91 | } | |
| 92 | turnPointsLbl = dynamic_cast<QLabel*>(m_playerScoreLayouts.at(1)->itemAtPosition(0,1)->widget()); | ||
| 93 | allPointsLbl = dynamic_cast<QLabel*>(m_playerScoreLayouts.at(1)->itemAtPosition(1,1)->widget()); | ||
| 94 | turnPointsLbl->setText(QString::number(packet.round_points_blue())); | ||
| 95 | allPointsLbl->setText(QString::number(packet.game_points_blue())); | ||
| 96 | |||
| 97 | turnPointsLbl = dynamic_cast<QLabel*>(m_playerScoreLayouts.at(2)->itemAtPosition(0,1)->widget()); | ||
| 98 | allPointsLbl = dynamic_cast<QLabel*>(m_playerScoreLayouts.at(2)->itemAtPosition(1,1)->widget()); | ||
| 99 | turnPointsLbl->setText(QString::number(packet.round_points_green())); | ||
| 100 | allPointsLbl->setText(QString::number(packet.game_points_green())); | ||
| 101 | } | 92 | } |
| 102 | 93 | ||
| 103 | Transmission::field_t MainWidget::translateKey(int key) | 94 | Transmission::field_t MainWidget::translateKey(int key) |
diff --git a/pacman-c++/pacman.proto b/pacman-c++/pacman.proto index 3a09702..0472697 100644 --- a/pacman-c++/pacman.proto +++ b/pacman-c++/pacman.proto | |||
| @@ -7,12 +7,8 @@ message KeyPressUpdate { | |||
| 7 | //TODO move points inside array | 7 | //TODO move points inside array |
| 8 | message MapUpdate { | 8 | message MapUpdate { |
| 9 | repeated uint32 field = 1 [packed=true]; | 9 | repeated uint32 field = 1 [packed=true]; |
| 10 | required uint32 round_points_red = 2; | 10 | repeated uint32 round_points = 2; |
| 11 | required uint32 round_points_green = 3; | 11 | repeated uint32 game_points = 3; |
| 12 | required uint32 round_points_blue = 4; | ||
| 13 | required uint32 game_points_red = 5; | ||
| 14 | required uint32 game_points_green = 6; | ||
| 15 | required uint32 game_points_blue = 7; | ||
| 16 | } | 12 | } |
| 17 | 13 | ||
| 18 | message WhoAmI { | 14 | message WhoAmI { |
diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp index 144043b..4715ec6 100644 --- a/pacman-c++/server.cpp +++ b/pacman-c++/server.cpp | |||
| @@ -89,7 +89,7 @@ Transmission::map_t Server::calculateUpdates() | |||
| 89 | return map; | 89 | return map; |
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | QSharedPointer< ProtoBuf::MapUpdate > Server::createUpdatePacket(Transmission::map_t map) | 92 | QSharedPointer<ProtoBuf::MapUpdate> Server::createUpdatePacket(Transmission::map_t map) |
| 93 | { | 93 | { |
| 94 | QSharedPointer<ProtoBuf::MapUpdate> updatePacket = | 94 | QSharedPointer<ProtoBuf::MapUpdate> updatePacket = |
| 95 | QSharedPointer<ProtoBuf::MapUpdate>(new ProtoBuf::MapUpdate); | 95 | QSharedPointer<ProtoBuf::MapUpdate>(new ProtoBuf::MapUpdate); |
| @@ -99,12 +99,13 @@ QSharedPointer< ProtoBuf::MapUpdate > Server::createUpdatePacket(Transmission::m | |||
| 99 | for (unsigned int y = 0; y < Constants::map_size.height; ++y) | 99 | for (unsigned int y = 0; y < Constants::map_size.height; ++y) |
| 100 | updatePacket->add_field(map[x][y]); | 100 | updatePacket->add_field(map[x][y]); |
| 101 | } | 101 | } |
| 102 | updatePacket->set_round_points_red(m_actors.value(Color::red)->getRoundPoints()); | 102 | |
| 103 | updatePacket->set_game_points_red(m_actors.value(Color::red)->getGamePoints()); | 103 | for(unsigned i = 0; Color::order[i] != Color::none; ++i) |
| 104 | updatePacket->set_round_points_green(m_actors.value(Color::green)->getRoundPoints()); | 104 | { |
| 105 | updatePacket->set_game_points_green(m_actors.value(Color::green)->getGamePoints()); | 105 | updatePacket->add_round_points(m_actors.value(Color::order[i])->getRoundPoints()); |
| 106 | updatePacket->set_round_points_blue(m_actors.value(Color::blue)->getRoundPoints()); | 106 | updatePacket->add_game_points(m_actors.value(Color::order[i])->getGamePoints()); |
| 107 | updatePacket->set_game_points_blue(m_actors.value(Color::blue)->getGamePoints()); | 107 | } |
| 108 | |||
| 108 | //qDebug() << "field sz "<< updatePacket->field_size(); | 109 | //qDebug() << "field sz "<< updatePacket->field_size(); |
| 109 | return updatePacket; | 110 | return updatePacket; |
| 110 | } | 111 | } |
