Допускается ли у не рекурсивной функции несколько операторов return? Код | int DeckOfCards::machineChange(int hand[][13], int deck[][13]) { int deal[13] = { 0 }; int count = 0; int streetCount = 0; int resetCount = 0; int flushCount = 0;
::indicate++;
for (int row = 0; row < 4; row++) for (int column = 0; column < 13; column++) if (hand[row][column] != 0) deal[column]++;
// проверка на пару или две пары for (int column = 0; column < 13; column++) { if (deal[column] == 3) count += 3; else if (deal[column] == 2) count++; }
//Нет игры. Меняем три младшие карты. if (count == 0) { { ;// стрит } cout << "\nNo combination" << endl; for (int cards = 3; cards > 0; cards--) { for (int column = 0; column < 13; column++) for (int row = 0; row < 4; row++) if (hand[row][column] != 0) { hand[row][column] = 0; row = 4; column = 13; } }
for (int cards = 3; cards > 0; cards--) for (int card = 11; card <= 52; card++) for (int row = 0; row < 4; row++) for (int column = 0; column < 13; column++) if (deck[row][column] == card) { hand[row][column]++; deck[row][column] = 0; column = 13; row = 4; card = 53; }
printHand(hand); return royalFlush(hand); } // Одна пара. Меняем три карты. else if (count == 1) { cout << "\nPair" << endl; for (int cards = 3; cards > 0; cards--) { for (int column = 12; column >= 0; column--) for (int row = 0; row <= 3; row++) if (hand[row][column] != 0) if (deal[column] != 2) { hand[row][column] = 0; row = 4; column = -1; } }
for (int cards = 3; cards > 0; cards--) for (int card = 11; card <= 52; card++) for (int row = 0; row < 4; row++) for (int column = 0; column < 13; column++) if (deck[row][column] == card) { hand[row][column]++; deck[row][column] = 0; column = 13; row = 4; card = 53; }
printHand(hand); return royalFlush(hand); } // Две пары. Меняем одну карту. else if(count == 2) { cout << "\nTwo pairs" << endl; for (int cards = 1; cards > 0; cards--) { for (int column = 12; column >= 0; column--) for (int row = 0; row <= 3; row++) if (hand[row][column] != 0) if (deal[column] != 2) { hand[row][column] = 0; row = 4; column = -1; } }
for (int cards = 1; cards > 0; cards--) for (int card = 11; card <= 52; card++) for (int row = 0; row < 4; row++) for (int column = 0; column < 13; column++) if (deck[row][column] == card) { hand[row][column]++; deck[row][column] = 0; column = 13; row = 4; card = 53; } printHand(hand); return royalFlush(hand); } // Тройня. Меняем две карты. else if (count == 3) { cout << "\nThree of kind" << endl; for (int cards = 2; cards > 0; cards--) { for (int column = 12; column >= 0; column--) for (int row = 0; row <= 3; row++) if (hand[row][column] != 0) if (deal[column] != 3) { hand[row][column] = 0; row = 4; column = -1; } } for (int cards = 2; cards > 0; cards--) for (int card = 11; card <= 52; card++) for (int row = 0; row < 4; row++) for (int column = 0; column < 13; column++) if (deck[row][column] == card) { hand[row][column]++; deck[row][column] = 0; column = 13; row = 4; card = 53; } printHand(hand); return royalFlush(hand); }
}
|
Это сообщение отредактировал(а) AliasVeter - 11.10.2015, 14:32
|