Hey guys i am learning c++ out of hobby. I`ve started making small console games to get to know the language better. I made this game where i get a starnge behaviuor that i can`t explain nor can i overcome. Seems that my variable 'amount' is geting overriden by the last object of the array 'slots' when i run the 'roll' function after getting the value for amount using cin. I also tried using getline and stringstream stoping getline on '\n' but still the same result :
#?include? <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void roll(int slots[], int size)
{
srand(time(NULL));
for (int i=0;i<size;i++)
{
slots=rand()%9;
}
}
int main()
{
int money=100;
int amount;
int slots[2];
char play='y';
cout<<"\t\t**** Welcome to Lenny Slots ****"<<endl<<endl;
cout<<endl;
cout<<"\t* * *"<<endl;
cout<<"\t\tDo you wanna play?";
cin>>play;
cin.get();
while(play=='y')
{
cout<<"\nYou have "<<money<<" dollars!"<<endl;
cout<<"How much do you wanna bet?"<<endl;
cin>>amount;
cout<<"Rolling..."<<endl;
roll(slots,3);
cout<<"\t"<<slots[0]<<" "<<slots[1]<<" "<<slots[2]<<endl;
if ((slots[0]==slots[1]) && (slots[1]==slots[2]))
{
money+=amount;
cout<<"Congrats!!! ***winner winner chicken dinner***"<<endl;
}
else
{
money-=amount;
cout<<"Sorry, better luck next time"<<endl;
}
cout<<"Your bank roll is "<<money<<endl;
cout<<endl;
cout<<"Play again?(y/n): ";
cin>>play;
cin.get();
}
}