Making a chutes and ladder game for my CS2010 class and go it knocked out pretty quick. So I thought everything was running smoothly until I tried to run the program. The problem has to do something about my "winner" function, but I've gone over my teachers notes and cannot for the life of me figure what I'm doing wrong. The error are on line 13 and 71 respectively. Hopefully this is enough info, being the first time I've posted.
//Filename: 175chutesladders.cpp
//Description: Project 4 - Chutes and Ladders Game
//Author: 175 John Prebul
//Date: 1/18/11
#include <string>
#include <iomanip>
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
void winner(&int, &int);
int CheckChutesandLadders(int);
int DiceRoll();
//This is were all the magic happens! All the functions and input are combined into one beautiful program
int main()
{
string name1, name2;
int player1, player2, dicenum, player1rolls, player2rolls;
cout<< "Chutes and Ladders (2 players)";
cout<< "**********************************";
cout<< "Please enter the name of Player 1: ";
cin>> name1;
cout<<endl;
cout<< "Please enter the name of Player 2: ";
cin>> name2;
cout<<endl;
cout<< "Alright" <<name1 <<"and" <<name2 <<", lets play Chutes and Ladders! First to 81 wins!" <<endl;
cout<<setw(9) <<"Player" <<setw(9) <<"Move Number" <<setw(9) <<"Current Position" <<setw(9) <<"Dice Roll" <<setw(9) <<"NewPosition";
cout<<"******************************************************************************************************************************";
player1 = 1;
player2 = 1;
player1rolls = 1;
player2rolls = 1;
while(player1 < 81 && player2 < 81)
{
cout <<setw(9) <<name1 <<setw(9) << player1rolls <<setw(9) <<player1;
dicenum = DiceRoll();
player1 = player1 + dicenum;
player1 = CheckChutesandLadders(player1);
cout <<setw(9) << dicenum;
cout<<setw(9) <<player1;
player1rolls++;
if(player1 >= 81)
player1 = player1 + 0;
else
{
cout <<setw(9) <<name2 <<setw(9) << player2rolls <<setw(9) <<player2;
dicenum = DiceRoll();
player2 = player2 + dicenum;
player2 = CheckChutesandLadders(player2);
cout <<setw(9) << dicenum;
cout<<setw(9) <<player2;
player2rolls++;
}
cout<<"---------------------------------------------------------------------------------------------------------------------------------------";
}
winner(& player1, & player2);
if(player1 = -1)
cout<< player1 <<"has won the game! Congratulations " <<player1 <<"!" <<endl;
else
cout<< player2 <<"has won the game! Congratulations " <<player2 <<"!" <<endl;
return 0;
}
//To confirm if one of the players have won the game
void winner(int & player1, int & player2)
{
if(player1 >= 81)
{
player1 = -1;
}
else if(player2 >= 81)
{
player2 = -1;
}
}
// To get a number for the dice roll
int DiceRoll()
{
return rand() % 6 + 1;
}
//To see if one of the players activated one of the chutes or ladders
int CheckChutesandLadders (int player)
{
if(player == 11)
return player = 4;
else if (player == 15)
return player = 7;
else if (player == 30)
return player = 21;
else if (player == 44)
return player = 31;
else if (player == 58)
return player = 43;
else if (player == 64)
return player = 54;
else if (player == 8)
return player = 16;
else if (player == 12)
return player = 27;
else if (player == 28)
return player = 39;
else if (player == 33)
return player = 46;
else if (player == 48)
return player = 55;
else if (player == 59)
return player = 75;
else
return player;
}