CODE:
//CheckFormation関数へ渡すデータ
vector> formation(14); //役図柄構成の配列
vector> linedesc(5); //判別ライン説明
vector> reelarray(3); //リール図柄配列の配列
//役図柄構成(左→中→右の順。0はどの図柄でもOK。優先順位の低い役順に配置)
formation[0] = { 0, 0, 0 }; //役0(ハズレ) 配列番号0に必ず設定。内容は何でもいい。要素数も何個でもOK!
formation[1] = { 7, 4, 4 }; //役1(JACPOT3) JAC-ORANGE PLUM PLUM
formation[2] = { 8, 0, 0 }; //役2(1-CHERRY) CHERRY ANY ANY ... formation[2] = { 8 } でもOK!
formation[3] = { 8, 8, 0 }; //役3(2-CHERRY) CHERRY CHERRY ANY ... formation[3] = { 8, 8 } でもOK!
formation[4] = { 8, 4, 4 }; //役4(JACPOT2) CHERRY PLUM PLUM
formation[5] = { 6, 6, 6 }; //役5(ORANGE) ORANGE ORANGE ORANGE
formation[6] = { 7, 6, 6 }; //役6(JAC-ORANGE) JAC-ORANGE ORANGE ORANGE
formation[7] = { 5, 5, 5 }; //役7(APPLE) APPLE APPLE APPLE
formation[8] = { 4, 4, 4 }; //役8(PLUM, JACIN, JACPOT1) PLUM PLUM PLUM
formation[9] = { 3, 3, 3 }; //役9(BELL) BELL BELL BELL
formation[10] = { 2, 2, 2 }; //役10(REG2) BAR BAR BAR
formation[11] = { 1, 1, 2 }; //役11(REG1) 7 7 BAR
formation[12] = { 2, 2, 1 }; //役12(BIG2) BAR BAR 7
formation[13] = { 1, 1, 1 }; //役13(BIG1) 7 7 7
//判別ライン説明(左→中→右の順。基準停止位置[上段]からのオフセット位置)
linedesc[0] = { 1, 1, 1 }; //ライン 0(中段ライン) 中中中
linedesc[1] = { 0, 0, 0 }; //ライン 1(上段ライン) 上上上
linedesc[2] = { 2, 2, 2 }; //ライン 2(下段ライン) 下下下
linedesc[3] = { 0, 1, 2 }; //ライン 3(右下がりライン) 上中下
linedesc[4] = { 2, 1, 0 }; //ライン 4(右上がりライン) 下中上
//リール図柄配列(同図柄は同番号。図柄番号は 0 ~ SIZE_T_MAXまで使用OK)
reelarray[0] = { 1, 8, 2, 5, 3, 4, 6, 1, 8, 2, 5, 3, 4, 6, 1, 7, 2, 5, 3, 4, 6 }; //左リール
reelarray[1] = { 1, 4, 3, 8, 6, 4, 3, 8, 5, 4, 3, 2, 8, 6, 4, 3, 8, 5, 4, 3, 8 }; //中リール
reelarray[2] = { 1, 3, 4, 6, 5, 3, 4, 6, 5, 3, 4, 6, 5, 3, 4, 6, 5, 3, 4, 6, 2 }; //右リール
vector position = { 20, 20, 20 }; //各リール停止位置番号[上段]
vector stopformation; //ライン別停止役
stopformation = CheckFormation(linedesc, reelarray, formation, position); //停止役チェック