Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 随机生成唯一整数C++;_C++_Mersenne Twister - Fatal编程技术网

C++ 随机生成唯一整数C++;

C++ 随机生成唯一整数C++;,c++,mersenne-twister,C++,Mersenne Twister,我为联盟编写了一个简单的程序,生成一个随机角色(AP、AD、混合、坦克)、lane和champion。您可以在此处看到代码: #include <iostream> #include <string> #include <random> #include <ctime> using namespace std; int main() { mt19937 RNG(time(0)); uniform_int_distribution

我为联盟编写了一个简单的程序,生成一个随机角色(AP、AD、混合、坦克)、lane和champion。您可以在此处看到代码:

#include <iostream>
#include <string>
#include <random>
#include <ctime>

using namespace std;

int main()
{
    mt19937 RNG(time(0));
    uniform_int_distribution<int> championRoll(1, 128);
    uniform_int_distribution<int> roleRoll(1, 4);
    uniform_int_distribution<int> laneRoll(1, 5);


    int iChampion, iRole, iLane;
    string Champion, Role, Lane;

    iChampion = championRoll(RNG);
    iRole = roleRoll(RNG);
    iLane = laneRoll(RNG);

    switch (iChampion)
    {
    case 1: Champion = "Aatrox"; break;
    case 2: Champion = "Ahri"; break;
    case 3: Champion = "Akali"; break;
    case 4: Champion = "Alistar"; break;
    case 5: Champion = "Amumu"; break;
    case 6: Champion = "Anivia"; break;
    case 7: Champion = "Annie"; break;
    case 8: Champion = "Ashe"; break;
    case 9: Champion = "Azir"; break;
    case 10: Champion = "Bard"; break;
    case 11: Champion = "Blitzcrank"; break;
    case 12: Champion = "Brand"; break;
    case 13: Champion = "Braum"; break;
    case 14: Champion = "Caitlyn"; break;
    case 15: Champion = "Cassiopeia"; break;
    case 16: Champion = "Cho'Gath"; break;
    case 17: Champion = "Corki"; break;
    case 18: Champion = "Darius"; break;
    case 19: Champion = "Diana"; break;
    case 20: Champion = "Dr. Mundo"; break;
    case 21: Champion = "Draven"; break;
    case 22: Champion = "Ekko"; break;
    case 23: Champion = "Elise"; break;
    case 24: Champion = "Evelynn"; break;
    case 25: Champion = "Ezreal"; break;
    case 26: Champion = "Fiddlesticks"; break;
    case 27: Champion = "Fiora"; break;
    case 28: Champion = "Fizz"; break;
    case 29: Champion = "Galio"; break;
    case 30: Champion = "Gangplank"; break;
    case 31: Champion = "Garen"; break;
    case 32: Champion = "Gnar"; break;
    case 33: Champion = "Gragas"; break;
    case 34: Champion = "Graves"; break;
    case 35: Champion = "Hecarim"; break;
    case 36: Champion = "Heimerdinger"; break;
    case 37: Champion = "Illaoi"; break;
    case 38: Champion = "Irelia"; break;
    case 39: Champion = "Janna"; break;
    case 40: Champion = "Jarvan IV"; break;
    case 41: Champion = "Jax"; break;
    case 42: Champion = "Jayce"; break;
    case 43: Champion = "Jinx"; break;
    case 44: Champion = "Kalista"; break;
    case 45: Champion = "Karma"; break;
    case 46: Champion = "Karthus"; break;
    case 47: Champion = "Kassadin"; break;
    case 48: Champion = "Katarina"; break;
    case 49: Champion = "Kayle"; break;
    case 50: Champion = "Kennen"; break;
    case 51: Champion = "Kha'zix"; break;
    case 52: Champion = "Kindred"; break;
    case 53: Champion = "Kog'Maw"; break;
    case 54: Champion = "Leblanc"; break;
    case 55: Champion = "Lee Sin"; break;
    case 56: Champion = "Leona"; break;
    case 57: Champion = "Lissandra"; break;
    case 58: Champion = "Lucian"; break;
    case 59: Champion = "Lulu"; break;
    case 60: Champion = "Lux"; break;
    case 61: Champion = "Malphite"; break;
    case 62: Champion = "Malzahar"; break;
    case 63: Champion = "Maokai"; break;
    case 64: Champion = "Master Yi"; break;
    case 65: Champion = "Miss Fortune"; break;
    case 66: Champion = "Mordekaiser"; break;
    case 67: Champion = "Morgana"; break;
    case 68: Champion = "Nami"; break;
    case 69: Champion = "Nasus"; break;
    case 70: Champion = "Nautilus"; break;
    case 71: Champion = "Nidalee"; break;
    case 72: Champion = "Nocturne"; break;
    case 73: Champion = "Nunu"; break;
    case 74: Champion = "Olaf"; break;
    case 75: Champion = "Orianna"; break;
    case 76: Champion = "Pantheon"; break;
    case 77: Champion = "Poppy"; break;
    case 78: Champion = "Quinn"; break;
    case 79: Champion = "Rammus"; break;
    case 80: Champion = "Rek'Sai"; break;
    case 81: Champion = "Renekton"; break;
    case 82: Champion = "Rengar"; break;
    case 83: Champion = "Riven"; break;
    case 84: Champion = "Rumble"; break;
    case 85: Champion = "Ryze"; break;
    case 86: Champion = "Sejuani"; break;
    case 87: Champion = "Shaco"; break;
    case 88: Champion = "Shen"; break;
    case 89: Champion = "Shyvana"; break;
    case 90: Champion = "Singed"; break;
    case 91: Champion = "Sion"; break;
    case 92: Champion = "Sivir"; break;
    case 93: Champion = "Skarner"; break;
    case 94: Champion = "Sona"; break;
    case 95: Champion = "Soraka"; break;
    case 96: Champion = "Swain"; break;
    case 97: Champion = "Syndra"; break;
    case 98: Champion = "Tahm Kench"; break;
    case 99: Champion = "Talon"; break;
    case 100: Champion = "Taric"; break;
    case 101: Champion = "Teemo"; break;
    case 102: Champion = "Thresh"; break;
    case 103: Champion = "Tristana"; break;
    case 104: Champion = "Trundle"; break;
    case 105: Champion = "Tryndamere"; break;
    case 106: Champion = "Twisted Fate"; break;
    case 107: Champion = "Twitch"; break;
    case 108: Champion = "Udyr"; break;
    case 109: Champion = "Urgot"; break;
    case 110: Champion = "Varus"; break;
    case 111: Champion = "Vayne"; break;
    case 112: Champion = "Veigar"; break;
    case 113: Champion = "Vel'Koz"; break;
    case 114: Champion = "Vi"; break;
    case 115: Champion = "Viktor"; break;
    case 116: Champion = "Vladimir"; break;
    case 117: Champion = "Volibear"; break;
    case 118: Champion = "Warwick"; break;
    case 119: Champion = "Wukong"; break;
    case 120: Champion = "Xerath"; break;
    case 121: Champion = "Xin Zhao"; break;
    case 122: Champion = "Yasuo"; break;
    case 123: Champion = "Yorick"; break;
    case 124: Champion = "Zac"; break;
    case 125: Champion = "Zed"; break;
    case 126: Champion = "Ziggs"; break;
    case 127: Champion = "Zilean"; break;
    case 128: Champion = "Zyra"; break;
    }

    switch (iRole)
    {
    case 1: Role = "AD"; break;
    case 2: Role = "AP"; break;
    case 3: Role = "Hybrid"; break;
    case 4: Role = "Tank"; break;
    }

    switch (iLane)
    {
    case 1: Lane = "Top"; break;
    case 2: Lane = "Mid"; break;
    case 3: Lane = "ADC"; break;
    case 4: Lane = "Support"; break;
    case 5: Lane = "Jungle"; break;
    }

    cout << Role << " " << Champion << " " << Lane << endl;

    system("PAUSE");
    return 0;
}
#包括
#包括
#包括
#包括
使用名称空间std;
int main()
{
mt19937 RNG(时间(0));
统一分配冠军卷(1128);
均匀分布roleRoll(1,4);
均匀内部分布laneRoll(1,5);
iLane iRole iChampion国际酒店;
弦乐冠军,角色,球道;
iChampion=championRoll(RNG);
iRole=roleRoll(RNG);
iLane=laneRoll(RNG);
开关(iChampion)
{
案例1:Champion=“Aatrox”中断;
案例2:Champion=“Ahri”中断;
案例3:Champion=“Akali”断裂;
案例4:Champion=“Alistar”中断;
案例5:冠军=“阿木”突破;
案例6:Champion=“Anivia”中断;
案例7:冠军=“安妮”破发;
案例8:Champion=“Ashe”中断;
案例9:Champion=“Azir”断裂;
案例10:Champion=“Bard”中断;
案例11:Champion=“Blitzcrank”中断;
案例12:冠军=“品牌”突破;
案例13:Champion=“Braum”中断;
案例14:Champion=“Caitlyn”中断;
案例15:冠军=“仙后座”决裂;
案例16:Champion=“Cho'Gath”中断;
案例17:Champion=“Corki”断裂;
案例18:Champion=“Darius”断裂;
案例19:Champion=“Diana”中断;
案例20:Champion=“Dr.Mundo”中断;
案例21:Champion=“Draven”中断;
案例22:Champion=“Ekko”中断;
案例23:Champion=“Elise”中断;
案例24:Champion=“Evelynn”中断;
案例25:Champion=“Ezreal”中断;
案例26:Champion=“Fiddlesticks”中断;
案例27:Champion=“Fiora”中断;
案例28:Champion=“Fizz”中断;
案例29:Champion=“Galio”中断;
案例30:冠军=“跳板”突破;
案例31:Champion=“Garen”中断;
案例32:Champion=“Gnar”中断;
案例33:Champion=“Gragas”中断;
案例34:Champion=“Graves”中断;
案例35:Champion=“Hecarim”中断;
案例36:Champion=“Heimerdinger”中断;
案例37:Champion=“Illaoi”中断;
案例38:Champion=“Irelia”中断;
案例39:Champion=“Janna”中断;
案例40:Champion=“Jarvan IV”中断;
案例41:Champion=“Jax”中断;
案例42:Champion=“Jayce”中断;
案例43:Champion=“Jinx”中断;
案例44:Champion=“Kalista”中断;
案例45:Champion=“Karma”断裂;
案例46:Champion=“Karthus”中断;
案例47:Champion=“Kassadin”中断;
案例48:Champion=“Katarina”中断;
案例49:Champion=“Kayle”中断;
案例50:Champion=“Kennen”中断;
案例51:Champion=“Kha'zix”中断;
案例52:Champion=“kindered”中断;
案例53:Champion=“Kog'Maw”中断;
案例54:Champion=“Leblanc”中断;
案例55:Champion=“Lee Sin”中断;
案例56:Champion=“Leona”中断;
案例57:Champion=“Lissandra”中断;
案例58:Champion=“Lucian”中断;
案例59:Champion=“Lulu”中断;
案例60:Champion=“Lux”中断;
案例61:Champion=“Malphite”断裂;
案例62:Champion=“Malzahar”中断;
案例63:冠军=“毛凯”破发;
案例64:冠军=“易学大师”破发;
案例65:冠军=“财富小姐”休息;
案例66:Champion=“Mordekaiser”中断;
案例67:Champion=“Morgana”中断;
案例68:Champion=“Nami”中断;
案例69:Champion=“Nasus”断裂;
案例70:Champion=“Nautilus”断裂;
案例71:Champion=“Nidalee”中断;
案例72:冠军=“夜曲”休息;
案例73:Champion=“Nunu”中断;
案例74:Champion=“Olaf”中断;
案例75:Champion=“Orianna”中断;
案例76:冠军=“万神殿”决裂;
案例77:Champion=“Poppy”中断;
案例78:Champion=“Quinn”中断;
案例79:Champion=“Rammus”断裂;
案例80:Champion=“Rek'Sai”中断;
案例81:Champion=“Renekton”中断;
案例82:Champion=“Rengar”中断;
案例83:Champion=“Riven”中断;
案例84:Champion=“隆隆声”中断;
案例85:Champion=“Ryze”中断;
案例86:Champion=“Sejuani”断裂;
案例87:Champion=“Shaco”中断;
案例88:Champion=“Shen”中断;
案例89:Champion=“Shyvana”中断;
案例90:Champion=“烧焦”断裂;
案例91:冠军突破;
案例92:Champion=“Sivir”中断;
案例93:Champion=“Skarner”断裂;
案例94:Champion=“Sona”中断;
案例95:Champion=“Soraka”中断;
案例96:Champion=“Swain”中断;
案例97:Champion=“Syndra”中断;
案例98:Champion=“Tahm Kench”中断;
案例99:Champion=“Talon”断裂;
案例100:Champion=“Taric”中断;
案例101:Champion=“Teemo”中断;
案例102:Champion=“Thresh”中断;
案例103:Champion=“Tristana”断裂;
案例104:Champion=“Trundle”中断;
案例105:Champion=“Tryndamere”中断;
案例106:冠军=“扭曲的命运”决裂;
案例107:Champion=“Twitch”中断;
案例108:Champion=“Udyr”中断;
案例109:Champion=“Urgot”中断;
案例110:Champion=“Varus”中断;
案例111:Champion=“Vayne”中断;
案例112:Champion=“Veigar”中断;
案例113:Champion=“Vel'Koz”断裂;
案例114:Champion=“Vi”中断;
案例115:Champion=“Viktor”断裂;
案例116:Champion=“Vladimir”中断;
案例117:Champion=“Volibear”中断;
案例118:Champion=“Warwick”断裂;
案例119:冠军=“悟空”破发;
案例120:Champion=“Xerath”中断;
案例121:Champion=“Xin Zhao”破发;
案例122:Champion=“Yasuo”中断;
案例123:Champion=“Yorick”中断;
案例124:Champion=“Zac”中断;
案例125:Champion=“Zed”中断;
案例126:Champion=“Ziggs”中断;
案例127:Champion=“Zilean”中断;
案例128:Champion=“Zyra”中断;
}
交换机(iRole)
{
案例1:Role=“AD”中断;
案例2:Role=“AP
std::vector<lane> lanes{lane::top, lane::bot, lane::jng, lane::mid};
std::shuffle(std::begin(lanes), std::end(lanes), RNG);
std::random_device rd;
std::mt19937_64 gen(rd());
template<typename T, typename... Ts>
auto make_shuffled_vector(Ts... xs)
{
    // Note: perfect-forwarding intentionally omitted to 
    // enhance example readability.

    std::vector<T> v{xs...};
    std::shuffle(std::begin(v), std::end(v), RNG);
    return v;
} 

auto champions = make_shuffled_vector<string>(
    "Vayne (best champion.)", "Caitlyn", "Lulu", 
    "Teemo (Satan)", ...);

auto lanes = make_shuffled_vector<string>(
    "mid", "top", "bot(adc)", "bot(sup)", "jng"); 

// You may want roles to be duplicated (not shuffled). 
// This is just an example.
auto roles = make_shuffled_vector<string>(
    "ad", "ap", "tank", "hybrid");

// Get the `i-th` element from `vec`, cycling if end is reached.
auto get_cycled = [](const auto& vec, auto i)
{
    return vec[i % vec.size()];
};

// Get 5 champions:
for(int i = 0; i < 5; ++i) 
{
    std::cout 
        << lanes[i]      // Assumes there always are >=5 lanes.
        << champions[i]  // Assumes there always are >=5 champions.
        << get_cycled(roles, i) 
        << "\n";
}