Как обрабатывать 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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