Created
April 26, 2018 13:11
-
-
Save Thanatossan/1814669d675a8757a222b349d9e374d8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<iostream> | |
#include<vector> | |
#include<cstdlib> | |
#include<iomanip> | |
#include<ctime> | |
#include<algorithm> | |
#include"Structure.h" | |
using namespace std; | |
void Approveordecline_bot(); | |
//setting n players role format. | |
void Avalon::roleSet(int n){ | |
allCharacter.push_back("Mordred"); | |
allCharacter.push_back("Assassin"); | |
allCharacter.push_back("Merlin"); | |
allCharacter.push_back("Soldier No.1"); | |
switch(n){ | |
case 8: | |
allCharacter.push_back("Percival"); | |
case 7: | |
allCharacter.push_back("Soldier No.3"); | |
case 6: | |
allCharacter.push_back("Oberon"); | |
case 5: | |
allCharacter.push_back("Soldier No.2"); | |
break; | |
} | |
} | |
//shuffle all roles before showing. | |
//show your character and ability. | |
void Avalon::showRole(){ | |
cout << "\n You are playing as " << allCharacter[0] << "\n"; | |
character = allCharacter[0]; | |
if(character == "Mordred"){ | |
side=-1; | |
cout << "\n\n*******************************************************************\n\n"; | |
cout << " An evil who are unknown to Merlin."; | |
cout << "\n\n*******************************************************************\n\n"; | |
}else if(character == "Assassin"){ | |
side=-1; | |
cout << "\n\n*******************************************************************\n\n"; | |
cout << " Find the Merlin. Take an advantage to win the game at the end."; | |
cout << "\n\n*******************************************************************\n\n"; | |
}else if(character == "Oberon"){ | |
side=-1; | |
cout << "\n\n*******************************************************************\n\n"; | |
cout << " You are an evil. Your team knows who you are, but you don't."; | |
cout << "\n\n*******************************************************************\n\n"; | |
}else if(character == "Merlin"){ | |
side=1; | |
cout << "\n\n*******************************************************************\n\n"; | |
cout << " Knows the evil. But keep it secret."; | |
cout << "\n\n*******************************************************************\n\n"; | |
}else if(character == "Percival"){ | |
side=1; | |
cout << "\n\n*******************************************************************\n\n"; | |
cout << " Help Merlin to remain unnoticed."; | |
cout << "\n\n*******************************************************************\n\n"; | |
}else{ | |
side=1; | |
cout << "\n\n*******************************************************************\n\n"; | |
cout << " You don't have any special abilities, successfully\n"; | |
cout << " keep evils out of the mission at least 3 missions to win."; | |
cout << "\n\n*******************************************************************\n\n"; | |
} | |
} | |
int main(){ | |
//game open | |
int map; | |
string score[6]; | |
srand(time(0)); | |
data system(1,0); | |
cout << "###################################################################\n\n"; | |
cout << " **** ** ** **** ** ****** ** ** \n"; | |
cout << " ** ** ** ** ** ** ** ** ** *** ** \n"; | |
cout << " ** ** ** ** ** ** ** ** ** **** ** \n"; | |
cout << " ******** ** ** ******** ** ** ** ** ** ** \n"; | |
cout << " ** ** **** ** ** ** ** ** ** **** \n"; | |
cout << " ** ** ** ** ** ****** ****** ** *** \n\n"; | |
cout << "###################################################################\n\n"; | |
cout << " [1] GAME START [2] EXIT \n\n\n"; | |
//choose start or exit | |
string action; | |
do{ | |
cout << " Please choose the action \"1\" or \"2\" : "; | |
getline(cin,action); | |
if(action == "1" || action == "2") break; | |
}while(true); | |
//result of action | |
if(action == "1"){ | |
//start | |
cout << "\n GAME STARTED !!\n"; | |
cout << "\n\n\n Press \"Enter\" to continue...\n "; | |
cin.get(); | |
//number of player produce picking map | |
int players = 0; | |
cout << "\n\n###################################################################\n\n"; | |
do{ | |
cout << " Please input number of players 5-8 : "; | |
cin >> players; | |
cin.ignore();////////////////////bug///////////////////////////////////////////////////////////////////////////////////// | |
}while(players<5 || players>8); | |
cout << "\n Starting map #" << players-4 << endl; | |
//random character | |
cout << "\n\n Pick one of the character cards...\n\n"; | |
switch (players){ | |
case 5 : | |
cout << " %%%%% %%%%% %%%%% %%%%% %%%%% \n"; | |
cout << " % % % % % % % % % % \n"; | |
cout << " % 1 % % 2 % % 3 % % 4 % % 5 % \n"; | |
cout << " % % % % % % % % % % \n"; | |
cout << " %%%%% %%%%% %%%%% %%%%% %%%%% \n\n"; | |
break; | |
case 6 : | |
cout << " %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% \n"; | |
cout << " % % % % % % % % % % % % \n"; | |
cout << " % 1 % % 2 % % 3 % % 4 % % 5 % % 6 % \n"; | |
cout << " % % % % % % % % % % % % \n"; | |
cout << " %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% \n\n"; | |
break; | |
case 7 : | |
cout << " %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% \n"; | |
cout << " % % % % % % % % % % % % % % \n"; | |
cout << " % 1 % % 2 % % 3 % % 4 % % 5 % % 6 % % 7 % \n"; | |
cout << " % % % % % % % % % % % % % % \n"; | |
cout << " %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% \n\n"; | |
break; | |
case 8 : | |
cout << " %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% \n"; | |
cout << " % % % % % % % % % % % % % % % % \n"; | |
cout << " % 1 % % 2 % % 3 % % 4 % % 5 % % 6 % % 7 % % 8 % \n"; | |
cout << " % % % % % % % % % % % % % % % % \n"; | |
cout << " %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% \n\n"; | |
break; | |
} | |
int card; | |
do{ | |
cout << " Please input card number 1-" << players << " : "; | |
cin >> card; | |
cin.ignore(); | |
}while(card < 1 || card > players); | |
Avalon player("korn","character",0,0,1,0); | |
player.roleSet(players); | |
random_shuffle( player.allCharacter.begin(), player.allCharacter.end()); | |
player.showRole(); | |
bot bot1(1,"bot1","character",0,0,0,0); | |
bot bot2(2,"bot2","character",0,0,0,0); | |
bot bot3(3,"bot3","character",0,0,0,0); | |
bot bot4(4,"bot4","character",0,0,0,0); | |
bot bot5(5,"bot1","character",0,0,0,0); | |
bot bot6(6,"bot2","character",0,0,0,0); | |
bot bot7(7,"bot3","character",0,0,0,0); | |
switch(players){ | |
case 5: | |
bot1.character = player.allCharacter[1]; | |
bot2.character = player.allCharacter[2]; | |
bot3.character = player.allCharacter[3]; | |
bot4.character = player.allCharacter[4]; | |
break; | |
case 6: | |
bot1.character = player.allCharacter[1]; | |
bot2.character = player.allCharacter[2]; | |
bot3.character = player.allCharacter[3]; | |
bot4.character = player.allCharacter[4]; | |
bot5.character = player.allCharacter[5]; | |
break; | |
case 7: | |
bot1.character = player.allCharacter[1]; | |
bot2.character = player.allCharacter[2]; | |
bot3.character = player.allCharacter[3]; | |
bot4.character = player.allCharacter[4]; | |
bot5.character = player.allCharacter[5]; | |
bot6.character = player.allCharacter[6]; | |
break; | |
case 8: | |
bot1.character = player.allCharacter[1]; | |
bot2.character = player.allCharacter[2]; | |
bot3.character = player.allCharacter[3]; | |
bot4.character = player.allCharacter[4]; | |
bot5.character = player.allCharacter[5]; | |
bot6.character = player.allCharacter[6]; | |
bot7.character = player.allCharacter[7]; | |
break; | |
} | |
if(bot1.character == "Mordred" || bot1.character =="Assassin" || bot1.character =="Oberon"){ bot1.side=-1;}else{bot1.side =1; } | |
if(bot2.character == "Mordred" || bot2.character =="Assassin" || bot2.character =="Oberon"){ bot2.side=-1;}else{bot2.side =1; } | |
if(bot3.character == "Mordred" || bot3.character =="Assassin" || bot3.character =="Oberon"){ bot3.side=-1;}else{bot3.side =1; } | |
if(bot4.character == "Mordred" || bot4.character =="Assassin" || bot4.character =="Oberon"){ bot4.side=-1;}else{bot4.side =1; } | |
if(bot5.character == "Mordred" || bot5.character =="Assassin" || bot5.character =="Oberon"){ bot5.side=-1;}else{bot5.side =1; } | |
if(bot6.character == "Mordred" || bot6.character =="Assassin" || bot6.character =="Oberon"){ bot6.side=-1;}else{bot6.side =1; } | |
if(bot7.character == "Mordred" || bot7.character =="Assassin" || bot7.character =="Oberon"){ bot7.side=-1;}else{bot7.side =1; } | |
cout << "\n\n Press \"Enter\" to continue...\n "; | |
cin.get(); | |
//game play | |
switch (players){ | |
case 5 : | |
cout << "\n\n###################################################################\n\n"; | |
break; | |
case 6 : | |
cout << "\n\n###############################################################################\n\n"; | |
break; | |
case 7 : | |
cout << "\n\n###########################################################################################\n\n"; | |
break; | |
case 8 : | |
cout << "\n\n#######################################################################################################\n\n"; | |
break; | |
} | |
cout << " In this map, there're 5 quests...\n\n\n"; | |
for(system.checkturn=1;system.checkturn<=5;system.checkturn++){ | |
if(system.badwin==3){ | |
break; | |
} | |
else if(system.goodwin==3){ | |
break; | |
} | |
srand(time(0)); | |
switch (players){ | |
case 5 : | |
cout << " @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ \n"; | |
cout << " @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ \n"; | |
cout << " @"<<score[1]<<"@ @"<<score[2]<<" @ @"<<score[3]<<" @ @"<<score[4]<<" @ @" <<score[5]<<" @ \n"; | |
cout << " @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ \n"; | |
cout << " @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ \n\n\n"; | |
break; | |
case 6 : | |
cout << " @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ \n"; | |
cout << " @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ \n"; | |
cout << " @ 1 @ @ 2 @ @ 3 @ @ 4 @ @ 5 @ \n"; | |
cout << " @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ \n"; | |
cout << " @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ \n\n\n"; | |
break; | |
case 7 : | |
cout << " @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ \n"; | |
cout << " @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ \n"; | |
cout << " @ 1 @ @ 2 @ @ 3 @ @ 4 @ @ 5 @ \n"; | |
cout << " @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ \n"; | |
cout << " @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ \n\n\n"; | |
break; | |
case 8 : | |
cout << " @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ \n"; | |
cout << " @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ \n"; | |
cout << " @ 1 @ @ 2 @ @ 3 @ @ 4 @ @ 5 @ \n"; | |
cout << " @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ \n"; | |
cout << " @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ \n\n\n"; | |
break; | |
} | |
//chooseplayer | |
/*switch (players){ | |
case 5 : | |
cout << " [1] Agree [2] Disagree \n\n\n"; | |
break; | |
case 6 : | |
cout << " [1] Agree [2] Disagree \n\n\n"; | |
break; | |
case 7 : | |
cout << " [1] Agree [2] Disagree \n\n\n"; | |
break; | |
case 8 : | |
cout << " [1] Agree [2] Disagree \n\n\n"; | |
break; | |
}*/ | |
/*switch (players){ | |
case 5 : | |
cout << " [1] Success [2] Fail \n\n\n"; | |
break; | |
case 6 : | |
cout << " [1] Success [2] Fail \n\n\n"; | |
break; | |
case 7 : | |
cout << " [1] Success [2] Fail \n\n\n"; | |
break; | |
case 8 : | |
cout << " [1] Success [2] Fail \n\n\n"; | |
break; | |
}*/ | |
/*switch (players){ | |
case 5 : | |
cout << " Result:\n"; | |
break; | |
case 6 : | |
cout << " Result:\n"; | |
break; | |
case 7 : | |
cout << " Result:\n"; | |
break; | |
case 8 : | |
cout << " Result:\n"; | |
break; | |
}*/ | |
switch (players){ | |
case 5 : | |
cout << " 2 Succes 0 Fail\n\n\n"; | |
break; | |
case 6 : | |
cout << " 2 Succes 0 Fail\n\n\n"; | |
break; | |
case 7 : | |
cout << " 2 Succes 0 Fail\n\n\n"; | |
break; | |
case 8 : | |
cout << " 2 Succes 0 Fail\n\n\n"; | |
break; | |
} | |
if(player.king==1){ | |
cout << " A A A \n"; | |
cout << " %%%%% \n"; | |
} | |
else if(bot1.king==1){ | |
cout << " A A A \n"; | |
cout << " %%%%% \n"; | |
} | |
else if(bot2.king==1){ | |
cout << " A A A \n"; | |
cout << " %%%%% \n"; | |
} | |
else if(bot3.king==1){ | |
cout << " A A A \n"; | |
cout << " %%%%% \n"; | |
} | |
else if(bot4.king==1){ | |
cout << " A A A \n"; | |
cout << " %%%%% \n"; | |
} | |
else if(bot5.king==1){ | |
cout << " A A A \n"; | |
cout << " %%%%% \n"; | |
} | |
else if(bot6.king==1){ | |
cout << " A A A \n"; | |
cout << " %%%%% \n"; | |
} | |
else if(bot7.king==1){ | |
cout << " A A A \n"; | |
cout << " %%%%% \n"; | |
} | |
switch (players){ | |
case 5 : | |
cout << " ::::::: >:::::::< >:::::::< ::::::: ::::::: \n"; | |
cout << " : YOU : >: B-1 :< >: B-2 :< : B-3 : : B-4 : \n"; | |
cout << " ::::::: >:::::::< >:::::::< ::::::: ::::::: \n\n\n"; | |
break; | |
case 6 : | |
cout << " ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: \n"; | |
cout << " : YOU : : B-1 : : B-2 : : B-3 : : B-4 : : B-5 : \n"; | |
cout << " ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: \n\n\n"; | |
break; | |
case 7 : | |
cout << " ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: \n"; | |
cout << " : YOU : : B-1 : : B-2 : : B-3 : : B-4 : : B-5 : : B-6 : \n"; | |
cout << " ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: \n\n\n"; | |
break; | |
case 8 : | |
cout << " ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: \n"; | |
cout << " : YOU : : B-1 : : B-2 : : B-3 : : B-4 : : B-5 : : B-6 : : B-7 : \n"; | |
cout << " ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: ::::::: \n\n\n"; | |
break; | |
} | |
do{ | |
if(player.king ==1){ | |
int chooseplayer1,chooseplayer2,chooseplayer3; | |
cout << "choose other player to the misson "; | |
cin >> chooseplayer1; | |
cout << "and "; | |
cin >> chooseplayer2; | |
if(chooseplayer1 == 1|| chooseplayer2 == 1) { | |
bot1.quest =1; | |
} | |
if(chooseplayer1 == 2|| chooseplayer2 == 2) { | |
bot2.quest =1; | |
} | |
if(chooseplayer1 == 3|| chooseplayer2 == 3) { | |
bot3.quest =1; | |
} | |
if(chooseplayer1 == 4|| chooseplayer2 == 4) { | |
bot4.quest =1; | |
} | |
if(chooseplayer1 == 5|| chooseplayer2 == 5) { | |
bot5.quest =1; | |
} | |
if(chooseplayer1 == 6|| chooseplayer2 == 6) { | |
bot6.quest =1; | |
} | |
if(chooseplayer1 == 7|| chooseplayer2 == 7) { | |
bot7.quest =1; | |
} | |
cout << "These are player to misson \n"; | |
if(bot1.quest==1){ | |
cout << "bot1 \n"; | |
} | |
if(bot2.quest==1){ | |
cout << "bot2 \n"; | |
} | |
if(bot3.quest==1){ | |
cout << "bot3 \n"; | |
} | |
if(bot4.quest==1){ | |
cout << "bot4 \n"; | |
} | |
if(bot5.quest==1){ | |
cout << "bot5 \n" ; | |
} | |
if(bot6.quest==1){ | |
cout << "bot6 \n"; | |
} | |
if(bot7.quest==1){ | |
cout << "bot7 \n"; | |
} | |
cout << "Approve or Decline?? \n"; | |
cout << "The vote is "; | |
if(bot1.quest==1){ | |
bot1.approve=1; | |
if(bot1.side-=-1){ | |
if(bot2.side==-1){ | |
bot2.approve=1; | |
} | |
else { | |
int x1=rand()%2; | |
if(x1=0){ | |
bot2.approve=1; | |
}else { | |
bot2.approve=-1; | |
} | |
} | |
if(bot3.side==-1){ | |
bot3.approve=1; | |
} | |
else { | |
int x2=rand()%2; | |
if(x2=0){ | |
bot3.approve=1; | |
}else { | |
bot3.approve=-1; | |
} | |
} | |
if(bot4.side==-1){ | |
bot4.approve=1; | |
} | |
else { | |
int x3=rand()%2; | |
if(x3=0){ | |
bot4.approve=1; | |
}else { | |
bot4.approve=-1; | |
} | |
} | |
if(bot5.side==-1){ | |
bot5.approve=1; | |
} | |
else { | |
int x4=rand()%2; | |
if(x4=0){ | |
bot5.approve=1; | |
}else { | |
bot5.approve=-1; | |
} | |
} | |
if(bot6.side==-1){ | |
bot6.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot6.approve=1; | |
}else { | |
bot6.approve=-1; | |
} | |
} | |
if(bot7.side==-1){ | |
bot7.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot7.approve=1; | |
}else { | |
bot7.approve=-1; | |
} | |
} | |
} | |
else{ | |
int x[8]; | |
for(int i=0;i<8;i++){ | |
x[i]=rand()%3; | |
if(x[i]>0){ | |
x[i]=1; | |
} | |
else{ | |
x[i]=-1; | |
} | |
} | |
bot2.approve=x[0]; | |
bot3.approve=x[1]; | |
bot4.approve=x[2]; | |
bot5.approve=x[3]; | |
bot6.approve=x[4]; | |
bot7.approve=x[5]; | |
} //endl | |
if(bot2.quest==1){ | |
bot2.approve=1; | |
if(bot2.side-=-1){ | |
if(bot1.side==-1){ | |
bot1.approve=1; | |
} | |
else { | |
int x1=rand()%2; | |
if(x1=0){ | |
bot1.approve=1; | |
}else { | |
bot1.approve=-1; | |
} | |
} | |
if(bot3.side==-1){ | |
bot3.approve=1; | |
} | |
else { | |
int x2=rand()%2; | |
if(x2=0){ | |
bot3.approve=1; | |
}else { | |
bot3.approve=-1; | |
} | |
} | |
if(bot4.side==-1){ | |
bot4.approve=1; | |
} | |
else { | |
int x3=rand()%2; | |
if(x3=0){ | |
bot4.approve=1; | |
}else { | |
bot4.approve=-1; | |
} | |
} | |
if(bot5.side==-1){ | |
bot5.approve=1; | |
} | |
else { | |
int x4=rand()%2; | |
if(x4=0){ | |
bot5.approve=1; | |
}else { | |
bot5.approve=-1; | |
} | |
} | |
if(bot6.side==-1){ | |
bot6.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot6.approve=1; | |
}else { | |
bot6.approve=-1; | |
} | |
} | |
if(bot7.side==-1){ | |
bot7.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot7.approve=1; | |
}else { | |
bot7.approve=-1; | |
} | |
} | |
} | |
else{ | |
int x[8]; | |
for(int i=0;i<8;i++){ | |
x[i]=rand()%3; | |
if(x[i]>0){ | |
x[i]=1; | |
} | |
else{ | |
x[i]=-1; | |
} | |
} | |
bot1.approve=x[0]; | |
bot3.approve=x[1]; | |
bot4.approve=x[2]; | |
bot5.approve=x[3]; | |
bot6.approve=x[4]; | |
bot7.approve=x[5]; | |
} //endl | |
} | |
if(bot3.quest==1){ | |
bot3.approve=1; | |
if(bot3.side-=-1){ | |
if(bot2.side==-1){ | |
bot2.approve=1; | |
} | |
else { | |
int x1=rand()%2; | |
if(x1=0){ | |
bot2.approve=1; | |
}else { | |
bot2.approve=-1; | |
} | |
} | |
if(bot1.side==-1){ | |
bot1.approve=1; | |
} | |
else { | |
int x2=rand()%2; | |
if(x2=0){ | |
bot1.approve=1; | |
}else { | |
bot1.approve=-1; | |
} | |
} | |
if(bot4.side==-1){ | |
bot4.approve=1; | |
} | |
else { | |
int x3=rand()%2; | |
if(x3=0){ | |
bot4.approve=1; | |
}else { | |
bot4.approve=-1; | |
} | |
} | |
if(bot5.side==-1){ | |
bot5.approve=1; | |
} | |
else { | |
int x4=rand()%2; | |
if(x4=0){ | |
bot5.approve=1; | |
}else { | |
bot5.approve=-1; | |
} | |
} | |
if(bot6.side==-1){ | |
bot6.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot6.approve=1; | |
}else { | |
bot6.approve=-1; | |
} | |
} | |
if(bot7.side==-1){ | |
bot7.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot7.approve=1; | |
}else { | |
bot7.approve=-1; | |
} | |
} | |
} | |
else{ | |
int x[8]; | |
for(int i=0;i<8;i++){ | |
x[i]=rand()%3; | |
if(x[i]>0){ | |
x[i]=1; | |
} | |
else{ | |
x[i]=-1; | |
} | |
} | |
bot2.approve=x[0]; | |
bot1.approve=x[1]; | |
bot4.approve=x[2]; | |
bot5.approve=x[3]; | |
bot6.approve=x[4]; | |
bot7.approve=x[5]; | |
} //endl | |
} | |
if(bot4.quest==1){ | |
bot4.approve=1; | |
if(bot4.side-=-1){ | |
if(bot2.side==-1){ | |
bot2.approve=1; | |
} | |
else { | |
int x1=rand()%2; | |
if(x1=0){ | |
bot2.approve=1; | |
}else { | |
bot2.approve=-1; | |
} | |
} | |
if(bot3.side==-1){ | |
bot3.approve=1; | |
} | |
else { | |
int x2=rand()%2; | |
if(x2=0){ | |
bot3.approve=1; | |
}else { | |
bot3.approve=-1; | |
} | |
} | |
if(bot1.side==-1){ | |
bot1.approve=1; | |
} | |
else { | |
int x3=rand()%2; | |
if(x3=0){ | |
bot1.approve=1; | |
}else { | |
bot1.approve=-1; | |
} | |
} | |
if(bot5.side==-1){ | |
bot5.approve=1; | |
} | |
else { | |
int x4=rand()%2; | |
if(x4=0){ | |
bot5.approve=1; | |
}else { | |
bot5.approve=-1; | |
} | |
} | |
if(bot6.side==-1){ | |
bot6.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot6.approve=1; | |
}else { | |
bot6.approve=-1; | |
} | |
} | |
if(bot7.side==-1){ | |
bot7.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot7.approve=1; | |
}else { | |
bot7.approve=-1; | |
} | |
} | |
} | |
else{ | |
int x[8]; | |
for(int i=0;i<8;i++){ | |
x[i]=rand()%3; | |
if(x[i]>0){ | |
x[i]=1; | |
} | |
else{ | |
x[i]=-1; | |
} | |
} | |
bot2.approve=x[0]; | |
bot3.approve=x[1]; | |
bot1.approve=x[2]; | |
bot5.approve=x[3]; | |
bot6.approve=x[4]; | |
bot7.approve=x[5]; | |
} //endl | |
} | |
if(bot5.quest==1){ | |
bot5.approve=1; | |
if(bot5.side-=-1){ | |
if(bot2.side==-1){ | |
bot2.approve=1; | |
} | |
else { | |
int x1=rand()%2; | |
if(x1=0){ | |
bot2.approve=1; | |
}else { | |
bot2.approve=-1; | |
} | |
} | |
if(bot3.side==-1){ | |
bot3.approve=1; | |
} | |
else { | |
int x2=rand()%2; | |
if(x2=0){ | |
bot3.approve=1; | |
}else { | |
bot3.approve=-1; | |
} | |
} | |
if(bot4.side==-1){ | |
bot4.approve=1; | |
} | |
else { | |
int x3=rand()%2; | |
if(x3=0){ | |
bot4.approve=1; | |
}else { | |
bot4.approve=-1; | |
} | |
} | |
if(bot1.side==-1){ | |
bot1.approve=1; | |
} | |
else { | |
int x4=rand()%2; | |
if(x4=0){ | |
bot1.approve=1; | |
}else { | |
bot1.approve=-1; | |
} | |
} | |
if(bot6.side==-1){ | |
bot6.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot6.approve=1; | |
}else { | |
bot6.approve=-1; | |
} | |
} | |
if(bot7.side==-1){ | |
bot7.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot7.approve=1; | |
}else { | |
bot7.approve=-1; | |
} | |
} | |
} | |
else{ | |
int x[8]; | |
for(int i=0;i<8;i++){ | |
x[i]=rand()%3; | |
if(x[i]>0){ | |
x[i]=1; | |
} | |
bot2.approve=x[0]; | |
bot3.approve=x[1]; | |
bot4.approve=x[2]; | |
bot1.approve=x[3]; | |
bot6.approve=x[4]; | |
bot7.approve=x[5]; | |
} //endl | |
} | |
} | |
if(bot6.quest==1){ | |
bot6.approve=1; | |
if(bot6.side-=-1){ | |
if(bot2.side==-1){ | |
bot2.approve=1; | |
} | |
else { | |
int x1=rand()%2; | |
if(x1=0){ | |
bot2.approve=1; | |
}else { | |
bot2.approve=-1; | |
} | |
} | |
if(bot3.side==-1){ | |
bot3.approve=1; | |
} | |
else { | |
int x2=rand()%2; | |
if(x2=0){ | |
bot3.approve=1; | |
}else { | |
bot3.approve=-1; | |
} | |
} | |
if(bot4.side==-1){ | |
bot4.approve=1; | |
} | |
else { | |
int x3=rand()%2; | |
if(x3=0){ | |
bot4.approve=1; | |
}else { | |
bot4.approve=-1; | |
} | |
} | |
if(bot5.side==-1){ | |
bot5.approve=1; | |
} | |
else { | |
int x4=rand()%2; | |
if(x4=0){ | |
bot5.approve=1; | |
}else { | |
bot5.approve=-1; | |
} | |
} | |
if(bot1.side==-1){ | |
bot1.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot1.approve=1; | |
}else { | |
bot1.approve=-1; | |
} | |
} | |
if(bot1.side==-1){ | |
bot7.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot7.approve=1; | |
}else { | |
bot7.approve=-1; | |
} | |
} | |
} | |
else{ | |
int x[8]; | |
for(int i=0;i<8;i++){ | |
x[i]=rand()%3; | |
if(x[i]>0){ | |
x[i]=1; | |
} | |
else{ | |
x[i]=-1; | |
} | |
} | |
bot2.approve=x[0]; | |
bot3.approve=x[1]; | |
bot4.approve=x[2]; | |
bot5.approve=x[3]; | |
bot1.approve=x[4]; | |
bot7.approve=x[5]; | |
} //endl | |
} | |
if(bot7.quest==1){ | |
bot7.approve=1; | |
if(bot7.side-=-1){ | |
if(bot2.side==-1){ | |
bot2.approve=1; | |
} | |
else { | |
int x1=rand()%2; | |
if(x1=0){ | |
bot2.approve=1; | |
}else { | |
bot2.approve=-1; | |
} | |
} | |
if(bot3.side==-1){ | |
bot3.approve=1; | |
} | |
else { | |
int x2=rand()%2; | |
if(x2=0){ | |
bot3.approve=1; | |
}else { | |
bot3.approve=-1; | |
} | |
} | |
if(bot4.side==-1){ | |
bot4.approve=1; | |
} | |
else { | |
int x3=rand()%2; | |
if(x3=0){ | |
bot4.approve=1; | |
}else { | |
bot4.approve=-1; | |
} | |
} | |
if(bot5.side==-1){ | |
bot5.approve=1; | |
} | |
else { | |
int x4=rand()%2; | |
if(x4=0){ | |
bot5.approve=1; | |
}else { | |
bot5.approve=-1; | |
} | |
} | |
if(bot6.side==-1){ | |
bot6.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot6.approve=1; | |
}else { | |
bot6.approve=-1; | |
} | |
}if(bot1.side==-1){ | |
bot1.approve=1; | |
} | |
else { | |
int x5=rand()%2; | |
if(x5=0){ | |
bot1.approve=1; | |
}else { | |
bot1.approve=-1; | |
} | |
} | |
} | |
else{ | |
int x[8]; | |
for(int i=0;i<8;i++){ | |
x[i]=rand()%3; | |
if(x[i]>0){ | |
x[i]=1; | |
} | |
else{ | |
x[i]=-1; | |
} | |
} | |
bot2.approve=x[0]; | |
bot3.approve=x[1]; | |
bot4.approve=x[2]; | |
bot5.approve=x[3]; | |
bot6.approve=x[4]; | |
bot1.approve=x[5]; | |
} //endl | |
} | |
} | |
}//player is king | |
else if(bot1.king ==1){ | |
vector<int> random; | |
int temp=99; | |
if(system.checkturn==1){ | |
for(int i=0 ;i<2 ;i++) { | |
int random=rand()%players +1; | |
while(temp==random){ | |
random=rand()%players +1; | |
} | |
if(random ==1) player.quest=1; | |
else if(random ==2) bot2.quest=1; | |
else if(random ==3) bot3.quest=1; | |
else if(random ==4) bot4.quest=1; | |
temp=random; | |
} | |
} | |
else{ | |
if(bot1.side==-1){ | |
for(int i=0;i<2;i++){ | |
int temp=3 ; | |
int random=rand()%2; | |
while(random==temp){ | |
random=rand()%2; | |
} | |
if(random==1){ | |
if(bot2.side==-1) bot2.quest==1 ; | |
else if(bot3.side==-1) bot3.quest==1; | |
if(bot4.side==-1) bot4.quest==1; | |
else if (player.side==-1) player.quest==1; | |
} | |
else { | |
if(bot2.side==-1) bot2.quest==-1; | |
else if(bot3.side==-1) bot3.quest==-1; | |
if(bot4.side==-1) bot4.quest==-1; | |
else if (player.side==-1) player.quest==-1; | |
} | |
temp=random; | |
} | |
} | |
else{ //bot is good side | |
int random=0; | |
if(system.checkturn==1 || system.checkturn ==2){ | |
for(int i=0;i<2;i++){ | |
while(random==temp){ | |
random =rand()%players; | |
} | |
if(random==1){ | |
bot2.quest=1; | |
} | |
else if(random==2){ | |
bot3.quest=1; | |
} | |
else if(random==3){ | |
bot4.quest=1; | |
} | |
else if(random==4){ | |
player.quest=1; | |
} | |
int temp =random; | |
} | |
} | |
else{ | |
int temp=0; | |
for(int l=0 ; l<1 ; l++){ | |
int i=rand()%bot2.doubt; | |
int j=rand()%bot3.doubt; | |
int k=rand()%bot4.doubt; | |
int m=rand()%player.doubt; | |
vector<int> doubltofall; | |
doubltofall.push_back(i); | |
doubltofall.push_back(j); | |
doubltofall.push_back(k); | |
doubltofall.push_back(m); | |
int min=999; | |
for(int i=0;i<doubltofall.size();i++){ | |
if(doubltofall[i]<min){ | |
min=doubltofall[i]; | |
} | |
if(min=i){bot2.quest =1; temp++; } | |
else if(min=j) {bot3.quest =1 ; temp++;} | |
else if(min=k) {bot4.quest =1 ;temp++; } | |
else if(min=m){player.quest =1; temp++; } | |
if(temp==2){ | |
if(player.quest==0) {player.quest=1; | |
} | |
else {bot2.quest=1; | |
} | |
temp--; | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
//left bot2,3,4,5,6,7,8 is king case | |
int sum=0; | |
if(player.king=1){ | |
if(players==5) sum=bot1.approve+bot2.approve+bot3.approve+bot4.approve; | |
if(players==6) sum=bot1.approve+bot2.approve+bot3.approve+bot4.approve+bot5.approve; | |
if(players==7) sum=bot1.approve+bot2.approve+bot3.approve+bot4.approve+bot5.approve+bot6.approve; | |
if(players==8) sum=bot1.approve+bot2.approve+bot3.approve+bot4.approve+bot5.approve+bot6.approve+bot7.approve; | |
} | |
if(sum>=0){ | |
cout << "Approve !!! \n"; | |
system.approve=1; | |
srand(time(0)); | |
sum=0; | |
break; | |
} | |
else{ | |
cout<< "Decline !!! \n"; | |
system.decline ++; | |
player.quest=0; | |
bot1.quest=0; | |
bot2.quest=0; | |
bot3.quest=0; | |
bot4.quest=0; | |
bot5.quest=0; | |
bot6.quest=0; | |
bot7.quest=0; | |
sum=0; | |
srand(time(0)); | |
} | |
if(system.decline ==5){ | |
score[system.checkturn]="Fail"; | |
player.quest=0; | |
bot1.quest=0; | |
bot2.quest=0; | |
bot3.quest=0; | |
bot4.quest=0; | |
bot5.quest=0; | |
bot6.quest=0; | |
bot7.quest=0; | |
sum=0; | |
srand(time(0)); | |
break; | |
} | |
sum=0; | |
}while(true); | |
int vote=1; | |
if(player.quest==1){ | |
if(player.side == 1){ | |
vote*=1; | |
cout << "You've been chosen to the mission of glory.\n"; | |
cout << "You vote success\n"; | |
} | |
else if(player.side == -1){ | |
int x; | |
cout << "You've been chosen to the mission of glory.\n"; | |
cout << "Select [1] Success [2] Fail : "; | |
cin >> x; | |
if(x == 1){ | |
vote*=1; | |
}else if(x == 2){ | |
vote*-1; | |
} | |
} | |
cin.ignore(); | |
} | |
else if(bot1.quest==1){ | |
if(bot1.side==-1){ | |
if(system.checkturn==1){ | |
vote*=1; | |
} | |
else{ | |
int random=rand()%5; | |
if(random>1){ | |
vote*=-1; | |
bot1.doubt =5; | |
}else { | |
vote*=1; | |
} | |
} | |
} | |
else if(bot1.side==1){ | |
vote*=1; | |
} | |
} | |
else if(bot2.quest==1){ | |
if(bot2.side==-1){ | |
if(system.checkturn==1){ | |
vote*=1; | |
} | |
else{ | |
int random=rand()%5; | |
if(random>1){ | |
vote*=-1; | |
bot2.doubt =5; | |
}else { | |
vote*=1; | |
} | |
} | |
} | |
else if(bot2.side==1){ | |
vote*=1; | |
} | |
} | |
else if(bot3.quest==1){ | |
if(bot3.side==-1){ | |
if(system.checkturn==1){ | |
vote*=1; | |
} | |
else{ | |
int random=rand()%5; | |
if(random>1){ | |
vote*=-1; | |
bot3.doubt =5; | |
}else { | |
vote*=1; | |
} | |
} | |
} | |
else if(bot3.side==1){ | |
vote*=1; | |
} | |
} | |
else if(bot4.quest==1){ | |
if(bot4.side==-1){ | |
if(system.checkturn==1){ | |
vote*=1; | |
} | |
else{ | |
int random=rand()%5; | |
if(random>1){ | |
vote*=-1; | |
bot4.doubt =5; | |
}else { | |
vote*=1; | |
} | |
} | |
} | |
else if(bot4.side==1){ | |
vote*=1; | |
} | |
} | |
else if(bot5.quest==1){ | |
if(bot5.side==-1){ | |
if(system.checkturn==1){ | |
vote*=1; | |
} | |
else{ | |
int random=rand()%5; | |
if(random>1){ | |
vote*=-1; | |
bot5.doubt =5; | |
}else { | |
vote*=1; | |
} | |
} | |
} | |
else if(bot5.side==1){ | |
vote*=1; | |
} | |
} | |
else if(bot6.quest==1){ | |
if(bot6.side==-1){ | |
if(system.checkturn==1){ | |
vote*=1; | |
} | |
else{ | |
int random=rand()%5; | |
if(random>1){ | |
vote*=-1; | |
bot6.doubt =5; | |
}else { | |
vote*=1; | |
} | |
} | |
} | |
else if(bot6.side==1){ | |
vote*=1; | |
} | |
} | |
else if(bot7.quest==1){ | |
if(bot7.side==-1){ | |
if(system.checkturn==1){ | |
vote*=1; | |
} | |
else{ | |
int random=rand()%5; | |
if(random>1){ | |
vote*=-1; | |
bot7.doubt =5; | |
}else { | |
vote*=1; | |
} | |
} | |
} | |
else if(bot7.side==1){ | |
vote*=1; | |
} | |
} | |
if(vote==1){ | |
cout << "mission SUCCESS !! \n"; | |
score[system.checkturn]="Success"; | |
} | |
else{ | |
cout << "mission FAIL !! \n"; | |
score[system.checkturn]="Fail"; | |
} | |
srand(time(0)); | |
vote=0; | |
system.checkturn++; | |
player.quest=0; | |
bot1.quest=0; | |
bot2.quest=0; | |
bot3.quest=0; | |
bot4.quest=0; | |
bot5.quest=0; | |
bot6.quest=0; | |
bot7.quest=0; | |
} | |
do{ | |
switch (players){ | |
case 5 : | |
cout << " Please choose the action \"1\" or \"2\" : "; | |
break; | |
case 6 : | |
cout << " Please choose the action \"1\" or \"2\" : "; | |
break; | |
case 7 : | |
cout << " Please choose the action \"1\" or \"2\" : "; | |
break; | |
case 8 : | |
cout << " Please choose the action \"1\" or \"2\" : "; | |
break; | |
} | |
getline(cin,action); | |
if(action == "1" || action == "2") break; | |
}while(true); | |
//send king to the next person | |
//put the oop turn | |
//checkscore for map | |
switch (players){ | |
case 5 : | |
cout << "\n\n\n################################################################### \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- YOU WIN --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "###################################################################\n\n"; | |
break; | |
case 6 : | |
cout << "\n\n\n############################################################################### \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- YOU WIN --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "###############################################################################\n\n"; | |
break; | |
case 7 : | |
cout << "\n\n\n########################################################################################### \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- YOU WIN --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "###########################################################################################\n\n"; | |
break; | |
case 8 : | |
cout << "\n\n\n####################################################################################################### \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- YOU WIN --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "#######################################################################################################\n\n"; | |
break; | |
} | |
/*switch (players){ | |
case 5 : | |
cout << "\n\n\n################################################################### \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- YOU LOSE! --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "###################################################################\n\n"; | |
break; | |
case 6 : | |
cout << "\n\n\n############################################################################### \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- YOU LOSE! --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "###############################################################################\n\n"; | |
break; | |
case 7 : | |
cout << "\n\n\n########################################################################################### \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- YOU LOSE! --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "###########################################################################################\n\n"; | |
break; | |
case 8 : | |
cout << "\n\n\n####################################################################################################### \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- YOU LOSE! --โ€ขโ€ข## \n"; | |
cout << "##โ€ขโ€ข-- --โ€ขโ€ข## \n"; | |
cout << "#######################################################################################################\n\n"; | |
break; | |
}*/ | |
} | |
//exit | |
else if(action == "2") cout << "\n โ€ข Bye Bye โ€ข \n"; | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment