int pair = 0;
int set = 0;
for(int i=0; i<13; i++){
if(num[i]>=2){
pair += num[i];
set++;
}
}
pairが
5ならフルハウス AA222→[2,3,0...]→2+3
3ならスリーカード AAA23→[3,1,1,0...]→3
2ならワンペア AA234→[2,1,1,1,0...]→2
4かつsetが1ならフォーカード AAAA2→[4,1,0...]→4
4かつsetが2ならツーペア AA223→[2,2,1,0...]→2+2
int pair = 0;
int set = 0;
for(int i=0; i<13; i++){
if(num[i]>=2){
pair += num[i];
set++;
}
}
pairが
5ならフルハウス AA222→[2,3,0...]→2+3
3ならスリーカード AAA23→[3,1,1,0...]→3
2ならワンペア AA234→[2,1,1,1,0...]→2
4かつsetが1ならフォーカード AAAA2→[4,1,0...]→4
4かつsetが2ならツーペア AA223→[2,2,1,0...]→2+2
というのは置いておいて、数をカウントする配列作ると単純にできる
A10JQKをnum = [1,0,0,0,0,0,0,0,0,1,1,1,1]ってすると
for(int i=0; i<10; i++){
straight = true;
for(int j=0; j<5; j++){
if(num[(i+j)%13]!=1) {
straight = false;
break;
}
}
if(straight){
// ストレート成立(i==9ならA使いストレート)
}
}
というのは置いておいて、数をカウントする配列作ると単純にできる
A10JQKをnum = [1,0,0,0,0,0,0,0,0,1,1,1,1]ってすると
for(int i=0; i<10; i++){
straight = true;
for(int j=0; j<5; j++){
if(num[(i+j)%13]!=1) {
straight = false;
break;
}
}
if(straight){
// ストレート成立(i==9ならA使いストレート)
}
}