diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-12-13 07:37:21 +0100 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-12-13 07:37:21 +0100 |
commit | d432140a22c45841d43eaf7e4b9352fe24f5062f (patch) | |
tree | 2ff60682833f717af65fafb386447d26d54ca655 /server/game.cpp | |
parent | b738bb935955ddc66b04cd5fc50dd8ed8ab75765 (diff) |
Fill RoundEnd with info.
Diffstat (limited to 'server/game.cpp')
-rw-r--r-- | server/game.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/server/game.cpp b/server/game.cpp index a41b90c..6b0b275 100644 --- a/server/game.cpp +++ b/server/game.cpp @@ -326,20 +326,37 @@ void Game::handle_action_discard(Action action, int player) { } void Game::round_end() { - // Flere runder? round_start() + Message::RoundEnd::p msg = make_shared<Message::RoundEnd>(); + // Did anybody win? + for(int i = 0; i < 4; i++) { + if(players[current_player + i].won) { + Player& player = players[current_player + i]; + + msg->hand = player.hand; + + msg->yakus = player.won_han; + + msg->total_han = player.won_value.han(); + msg->total_fu = player.won_value.fu_rounded(); + msg->won = player.won_value.ron_east(); + + break; + } + } round_num++; if(!round_num) { round_wind++; } + msg->game_end = false; awaiting_players = 4; - players[0].client->round_end(boost::bind(&Game::handle_ready, shared_from_this())); - players[1].client->round_end(boost::bind(&Game::handle_ready, shared_from_this())); - players[2].client->round_end(boost::bind(&Game::handle_ready, shared_from_this())); - players[3].client->round_end(boost::bind(&Game::handle_ready, shared_from_this())); + players[0].client->round_end(msg, boost::bind(&Game::handle_ready, shared_from_this())); + players[1].client->round_end(msg, boost::bind(&Game::handle_ready, shared_from_this())); + players[2].client->round_end(msg, boost::bind(&Game::handle_ready, shared_from_this())); + players[3].client->round_end(msg, boost::bind(&Game::handle_ready, shared_from_this())); // Ferdig? game_end() |