Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <random>
- #include <algorithm>
- #include <array>
- #include <chrono>
- using namespace std;
- void multiPull();
- int num3StarCE = 0;
- int num4StarCE = 0;
- int num5StarCE = 0;
- int num3StarServant = 0;
- int num4StarServant = 0;
- int num5StarServant = 0;
- int main()
- {
- int numMultis = 100000;
- for(int x = 0; x < numMultis; x++)
- {
- multiPull();
- }
- double percent3CE = (double)num3StarCE/(10*numMultis);
- double percent4CE = (double)num4StarCE/(10*numMultis);
- double percent5CE = (double)num5StarCE/(10*numMultis);
- double percent3Servant = (double)num3StarServant/(10*numMultis);
- double percent4Servant = (double)num4StarServant/(10*numMultis);
- double percent5Servant = (double)num5StarServant/(10*numMultis);
- cout << "The % of 3* CEs was " << percent3CE*100 << '%' << endl;
- cout << "The % of 4* CEs was " << percent4CE*100 << '%' << endl;
- cout << "The % of 5* CEs was " << percent5CE*100 << '%' << endl;
- cout << "The % of 3* Servants was " << percent3Servant*100 << '%' << endl;
- cout << "The % of 4* Servants was " << percent4Servant*100 << '%' << endl;
- cout << "The % of 5* Servants was " << percent5Servant*100 << '%' << endl;
- }
- void multiPull()
- {
- bool hasSR = false;
- bool hasServant = false;
- array<string,10> multi;
- unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
- srand(seed);
- for(int i = 0; i < 10; i++)
- {
- int gachaCard = rand() % 100 + 1;
- if(!hasServant && i == 8)
- {
- if(gachaCard <= 96)
- multi[i] = "3*Servant";
- else if(gachaCard == 100)
- {
- multi[i] = "5*Servant";
- hasSR = true;
- }
- else
- {
- multi[i] = "4*Servant";
- hasSR = true;
- }
- }
- else if(!hasSR && i == 9)
- {
- if(gachaCard <= 92)
- multi[i] = "4*CE";
- else if(gachaCard == 100)
- multi[i] = "5*Servant";
- else if(gachaCard > 92 && gachaCard <=95)
- multi[i] = "4*Servant";
- else
- multi[i] = "5*CE";
- }
- else
- {
- if(gachaCard <= 40)
- multi[i] = "3*CE";
- else if(gachaCard > 40 && gachaCard <= 80)
- {
- multi[i] = "3*Servant";
- hasServant = true;
- }
- else if(gachaCard > 80 && gachaCard <= 92)
- {
- multi[i] = "4*CE";
- hasSR = true;
- }
- else if(gachaCard > 92 && gachaCard <= 95)
- {
- multi[i] = "4*Servant";
- hasServant = true;
- hasSR = true;
- }
- else if(gachaCard > 95 && gachaCard <= 99)
- {
- multi[i] = "5*CE";
- hasSR = true;
- }
- else
- {
- multi[i] = "5*Servant";
- hasSR = true;
- hasServant = true;
- }
- }
- }
- shuffle(multi.begin(),multi.end(),default_random_engine(seed));
- for(int i = 0; i < 10; i++)
- {
- cout << multi[i] << ' ';
- if(multi[i] == "3*CE")
- num3StarCE++;
- else if(multi[i] == "4*CE")
- num4StarCE++;
- else if(multi[i] == "5*CE")
- num5StarCE++;
- else if(multi[i] == "3*Servant")
- num3StarServant++;
- else if(multi[i] == "4*Servant")
- num4StarServant++;
- else
- num5StarServant++;
- }
- cout << endl << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement