Как обрабатывать ece Readjustments в коде Блэкджека?C++

Программы на C++. Форум разработчиков
Anonymous
Как обрабатывать ece Readjustments в коде Блэкджека?

Сообщение Anonymous »

Я пытался выяснить, как обрабатывать тузы в блэкджеке. В настоящее время я работаю над этим в своей функции Dealer_Drawing Helper Function, хотя я планирую сделать ее собственную функцию, как только я работаю на дилера.

Код: Выделить всё

int dealer_drawing(vector& main_deck, vector& deck){

int total = total_value(deck);
while(true) {

for(Card& card : deck) {

while(total  21 && card.value == 11) { // Big aces
card.value = 1;
total = total_value(deck);
continue;
}

else if (total >= 21){ // Exits while loop in case of bust
break;

}

}

}

return total;

}
< /code>
[list]
[*]main_deck
- стандартная карта 52, колода - рука дилера
[*]

Код: Выделить всё

total_value()
вычисляет общее значение руки
[*]

Код: Выделить всё

draw_card()
Удаляет случайную карту из main_deck и добавляет ее в Deck
[*] Я создал структуру с названием Card , а карта имеет костюм , face и значение . Значение является самообъяснением. card.face == 4 проверяет, является ли карта Ace.
[/list]
Я почти уверен, что все мои вспомогательные функции работают, как и ожидалось. Я обнаружил, что иногда дилер переживает туз, оцененный в 11 лет, но туз не понижается до 1. Иногда дилер проиграет игру, потому что у них низкий туз (например, они проиграли со значением 13), но их общая сумма составляла менее 16 лет, поэтому они должны были продолжать рисовать после чтения для туза. Я думаю, что дилер также иногда застрял в каком -то бесконечном цикле, где общее количество никогда не возвращается к основной функции, и программа просто ничего не делает.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... kjack-code

Вернуться в «C++»