I am making a Chutes & Ladders game and I cannot seem to get my void RollDiceAndMove() function to make a new position for my players. It's supposed to make a new position using rand(time) and then send that new position back to the while loop I have in int main().
Any help would be greatly appreciated! I am new to C++.
#include <iostream>
#include <string>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <cctype>
using namespace std;
void RollDiceAndMove(); //game rolls dice, and moves the player
void CheckChutes(); // game checks to see if player landed on chutes
void CheckLadders(); // game checks to see if player landed on ladders
void whoWon(); // game checks to see if anyone has won yet
void welcomeMessage(); // shows display message, and asks if they want to play
void goodbyeMessage(); // tells user goodbye after game
int RollDie;
int NewPos;
int NewPos1;
int main()
{
    bool player1Turn = 0; //switches between player1 and player2's turns
    string player1Name, player2Name; // gets names from both players
    int choice = 'y'; // answer when asked if players want to play
    int Player1Loc = 0, Player2Loc = 0; // location of the players
    int Playerpos;
welcomeMessage();
        cout << endl << endl;
        cout << "Enter your names: " << endl << endl;
        cout << "Player1: ";
        cin >> player1Name;
        cout << endl << endl;
        cout << "Player2: ";
        cin >> player2Name;
while(choice == 'y'){
        while(Player1Loc != 100 && Player2Loc != 100){
                if(player1Turn){
                    cout << endl << endl;
                    cout << player1Name << ": Its your turn." << endl << endl;
                    cout << "Press Enter to Start Turn: ";
                    cin.get();
                    cout << endl << endl;
                    RollDiceAndMove();
                    cout << "New Position Amount: " << NewPos1 << endl;
                    /* CheckChutes();
                    CheckLadders() */;
                    player1Turn = false;
                }
                else{
                    cout << endl << endl;
                    cout << player2Name << ": Its your turn." << endl << endl;
                    cout << "Press Enter to Start Turn: ";
                    cin.get();
                    cout << endl;
                    RollDiceAndMove();
                    cout << "New Position Amount: " << NewPos << endl;
                    // CheckChutes();
                    // CheckLadders();
                    player1Turn = true;
                }
            }
        while (NewPos == 100) {
            whoWon();
        }
}
    return 0;
}
void welcomeMessage()
{
    int choice;
    // shows welcome message, and asks if they want to play
    // IN: choice
    cout << "Welcome to the chutes and ladders game. Both " << endl;
    cout << "players start at 0, and the first one to 100 " << endl;
    cout << "wins the game. However, if you land on a chute," << endl;
    cout << "your player will move down, but a ladder " << endl;
    cout << "will move you up." << endl;
}
void goodbyeMessage()
{
    // shows the goodbye message
    cout << "Thanks for playing!" << endl;
}
void RollDiceAndMove ()
{
    // rolls dice, and moves the player
    switch(NewPos = 100)
    {
        for (int Player1pos = 0; Player1pos < 100; Player1pos++)
        {
            RollDie = rand() % 6 + 1; 
            Player1pos = 1;
            NewPos1 = Player1pos + RollDie;
            CheckChutes();
            CheckLadders();
            cout << "Your new location is: " << NewPos << endl;
            break;
        }
        for (int Player2pos = 0; Player2pos < 100; Player2pos++)
        {
            RollDie = rand() % 6 + 1;
            Player2pos = 1;
            NewPos = Player2pos + RollDie;
            CheckChutes();
            CheckLadders();
            cout << "Your new location is: " << NewPos << endl;
            break;
        }
    }
}
void whoWon()
{
    int NewPos;
    // determines if user has won, when their location is at 100
    RollDiceAndMove();
    if (NewPos == 100){
        cout << "You won!" << endl;
    }
}
void CheckChutes ()
{
    int NewPos;
    //checks if chutes, if yes, then moves player backwards
    if (NewPos == 98)
        NewPos = 78;
    else if (NewPos == 95)
        NewPos = 75;
    else if (NewPos == 93)
        NewPos = 70;
    else if (NewPos == 87)
        NewPos = 24;
    else if (NewPos == 64)
        NewPos = 60;
    else if (NewPos == 62)
        NewPos = 19;
    else if (NewPos == 56)
        NewPos = 53;
    else if (NewPos == 49)
        NewPos = 11;
    else if (NewPos == 48)
        NewPos = 26;
    else if (NewPos == 16)
        NewPos = 6;
    else
        NewPos = NewPos;
    cout << "You landed on chutes, and have to move down" << endl;
}
void CheckLadders ()
{
    int NewPos;
    // checks if ladders. if yes, moves player forwards
    if (NewPos == 1)
        NewPos = 38;
    else if (NewPos == 4)
        NewPos = 14;
    else if (NewPos == 9)
        NewPos = 21;
    else if (NewPos == 23)
        NewPos = 44;
    else if (NewPos == 28)
        NewPos = 84;
    else if (NewPos == 36)
        NewPos = 44;
    else if (NewPos == 51)
        NewPos = 66;
    else if (NewPos == 71)
        NewPos = 90;
    else if (NewPos == 80)
        NewPos = 100;
    else
        NewPos = NewPos;
    cout << "You landed on ladders, and get to move up the board!" << endl;
}
 
     
     
    