diff options
author | Atle Hellvik Havsø <atle@havso.net> | 2010-12-13 16:47:55 +0100 |
---|---|---|
committer | Atle Hellvik Havsø <atle@havso.net> | 2010-12-13 16:47:55 +0100 |
commit | 7f3c5360b2ed0ce5c3d84b6d04cb0f37e7e85149 (patch) | |
tree | 2a3fa28faf144b7ba3fa9ff30682c05f8e240d71 | |
parent | 4920ca952d7b818c7d2f5953a4676bf0ff7513e8 (diff) |
Made RoundEnd send winnings.
-rw-r--r-- | server/game.cpp | 20 | ||||
-rw-r--r-- | server/player.cpp | 1 | ||||
-rw-r--r-- | server/wall.cpp | 2 |
3 files changed, 21 insertions, 2 deletions
diff --git a/server/game.cpp b/server/game.cpp index 5827565..501aa57 100644 --- a/server/game.cpp +++ b/server/game.cpp @@ -327,6 +327,10 @@ void Game::handle_action_discard(Action action, int player) { void Game::round_end(Endcondition end) { Message::RoundEnd::p msg = make_shared<Message::RoundEnd>(); + for(int i = 0; i < 4; i++) { + msg->score[current_player + i].won = 0; + msg->score[current_player + i].score = players[current_player + i].get_state().score; + } switch(end) { case Draw: @@ -345,8 +349,21 @@ void Game::round_end(Endcondition end) { if(current_player == round_num) { msg->won = 3 * player.won_value.tsumo_east(); + msg->score[current_player].won = msg->won; + for(int i = 1; i < 4; i++) { + msg->score[current_player + i]. won = -(msg->won / 3); + } } else { msg->won = player.won_value.tsumo_east() + 2 * player.won_value.tsumo(); + for(int i = 0; i < 4; i++) { + if(i == current_player) { + msg->score[i].won = msg->won; + } else if (i == round_num){ + msg->score[i].won = -(player.won_value.tsumo_east()); + } else { + msg->score[i].won = -(player.won_value.tsumo()); + } + } } } break; @@ -375,6 +392,9 @@ void Game::round_end(Endcondition end) { break; } + //Send med score + + round_num++; if(!round_num) { diff --git a/server/player.cpp b/server/player.cpp index d87f8e8..9707f34 100644 --- a/server/player.cpp +++ b/server/player.cpp @@ -119,7 +119,6 @@ Actions Player::get_actions_discard(Tile tile, PlayerNum discarder) { // Check if tile can be called for a kan. if(can_kan(tile, target)) { - std::cout << "Can kan!" << std::endl; possible_actions.push_back(Action(Action::Kan, Action::Index, target + 2)); } } diff --git a/server/wall.cpp b/server/wall.cpp index 42df094..714e519 100644 --- a/server/wall.cpp +++ b/server/wall.cpp @@ -27,7 +27,7 @@ int Wall::remaining() { } Tile Wall::take_one() { - //return wall.front(); + return wall.front(); boost::uniform_int<> range(0, wall.size() - 1); |