Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SnakesLadders
- {
- private:
- int player1_position = 0;
- int player2_position = 0;
- int who_goes = 1;
- void check_position (int &position){
- if (position > 100)
- position = 200 - position;
- switch (position){
- case 2: position = 38; break;
- case 7: position = 14; break;
- case 8: position = 31; break;
- case 15: position = 26; break;
- case 21: position = 42; break;
- case 28: position = 84; break;
- case 36: position = 44; break;
- case 51: position = 67; break;
- case 71: position = 91; break;
- case 78: position = 98; break;
- case 87: position = 94; break;
- case 16: position = 6; break;
- case 46: position = 25; break;
- case 49: position = 11; break;
- case 62: position = 19; break;
- case 64: position = 60; break;
- case 74: position = 53; break;
- case 89: position = 68; break;
- case 92: position = 88; break;
- case 95: position = 75; break;
- case 99: position = 80; break;
- default: break;
- };
- }
- public:
- SnakesLadders(){};
- std::string play(int die1, int die2)
- {
- std::string message = "";
- if (player2_position == 100 || player1_position == 100){
- //player1_position = 0;
- //player2_position = 0;
- return "Game over!";
- };
- if (die1 != die2 && who_goes == 1){
- who_goes = 2;
- player1_position += (die1 + die2);
- if (player1_position == 100)
- return "Player 1 Wins!";
- check_position(player1_position);
- message = "Player 1 is on square " + std::to_string(player1_position);
- return message;
- }
- else
- if (die1 == die2 && who_goes == 1){
- player1_position += (die1 + die2);
- check_position(player1_position);
- if (player1_position == 100)
- return "Player 1 Wins!";
- message = "Player 1 is on square " + std::to_string(player1_position);
- return message;
- }
- else
- if (die1 != die2 && who_goes == 2){
- who_goes = 1;
- player2_position += (die1 + die2);
- if (player2_position == 100)
- return "Player 2 Wins!";
- check_position(player2_position);
- message = "Player 2 is on square " + std::to_string(player2_position);
- return message;
- }
- else
- if (die1 == die2 && who_goes == 2){
- player2_position += (die1 + die2);
- if (player2_position == 100)
- return "Player 2 Wins!";
- check_position(player2_position);
- message = "Player 2 is on square " + std::to_string(player2_position);
- return message;
- };
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement