Game with arrays , classes, random genarator Spider is a game involving a die an
ID: 3541041 • Letter: G
Question
Game with arrays , classes, random genarator
Explanation / Answer
please rate - thanks
get back to me if any problems or questions-I will make corrections
tested with DEV C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int menu();
class Spider
{private:
bool head;
bool body;
int legs;
int eyes;
int feelers;
bool tail;
int items_needed;
public:
Spider()
{head=false;
body=false;
legs=6;
eyes=2;
feelers=2;
tail=false;
items_needed=13;
}
bool turn()
{int die;
bool more=true;
while(more&&items_needed>0)
{more=false;
die=rand()%6+1;
cout<<die<<" rolled ";
switch (die)
{case 1: if(!body)
{ body=true;
items_needed--;
cout<<"body received, turn continues ";
more=true;
}
else
cout<<"Already have a body ";
break;
case 2: if(!body)
cout<<"must have a body ";
else if(!head)
{ head=true;
items_needed--;
cout<<"head received, turn continues ";
more=true;
}
else
cout<<"Already have a head ";
break;
case 3: if(!body)
cout<<"must have a body ";
else if(legs>0)
{ legs-=2;
items_needed-=2;
cout<<"2 legs received "<<legs<<" more needed turn continues ";
more=true;
}
else
cout<<"No legs needed ";
break;
case 4: if(!head)
cout<<"must have a head ";
else if(eyes>0)
{ eyes--;
items_needed--;
cout<<"eye received "<<eyes<<" more needed turn continues ";
more=true;
}
else
cout<<"No eyes needed ";
break;
case 5:if(!head)
cout<<"must have a head ";
else if(feelers>0)
{ feelers--;
items_needed--;
cout<<"feeler received "<<feelers<<" more needed turn continues ";
more=true;
}
else
cout<<"No feelers needed ";
break;
case 6: if(!body)
cout<<"must have a body ";
else
if(!tail)
{ tail=true;
items_needed--;
cout<<"tail received, turn continues ";
more=true;
}
else
cout<<"Already have a tail ";
break;
}
system("pause");
}
if(items_needed>0)
return false;
else
return true;
}
};
int main()
{Spider s[2];
srand(time(0));
int i=1;
bool gameover=false;
while(!gameover)
{i=1-i; //flips i between 0 and 1
cout<<"Player "<<i+1<<" turn ";
gameover=s[i].turn();
cout<<endl;
}
cout<<"The winner is player "<<i+1<<endl;
system("pause");
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.