Игра в блэкджек, принт, программирование на Java

У меня проблема с методом дилера в моей игре в блэкджек.

У меня есть метод создания случайной карты из колоды классов.

Карты присвоили им значения и так далее. однако проблема заключается в коде, в котором я хочу, чтобы дилер взял новую карту и прибавил ее значение к существующей общей сумме руки. код следующий.

// Основы значений карт дилеров

    int dealerHandValue = 0;
    int tempDealerHandValue = 0;
    int totalDealerHandValue= 0;

// Первая карта дилера

    randomGenNum = (int)((range * Math.random()) + 1)*2;
    dealerHandValue = arrayCardRank[randomGenNum];
    CardSuit = arrayCardSuit[randomGenNum];


    System.out.println("Dealer First Card Shows : " + (CardSuit));

    tempDealerHandValue = dealerHandValue;

// Код выполняется, когда игрок прекращает рисовать и встает.

           while (totalDealerHandValue < 18 && totalDealerHandValue <21)
           {

           randomGenNum = (int)((range * Math.random()) + 1)*2;
           dealerHandValue = arrayCardRank[randomGenNum];
           CardSuit = arrayCardSuit[randomGenNum];


           System.out.println("Dealer next Card Shows : " + (CardSuit));

           tempDealerHandValue = dealerHandValue;

           totalDealerHandValue = (tempDealerHandValue) + (dealerHandValue);

           System.out.println("Dealer total hand value is " + (totalDealerHandValue));

       }



       {
           System.out.println("Dealer stopped drawing");

           if (totalDealerHandValue >= totalUserHandValue)
           {

               System.out.println("Dealer wins");
               return;

           }
           else

               System.out.println("Congratulations! You Win!");
           return;


       }

Этот метод будет просто добавлять себе новое значение карт до тех пор, пока оператор while не закончится.

Я не понял проблему и знаю, что ее легко исправить. может ли кто-нибудь помочь мне в том, чего мне не хватает?


person StakkelsMand    schedule 02.10.2013    source источник
comment
в чем проблема? Я не понимаю, о чем вы спрашиваете.   -  person tom    schedule 02.10.2013
comment
Мне нужно, чтобы tempDealerHandValue добавлялся к totalDealerHandValue каждый раз, когда вырисовывается новая карта, пока цикл while не закончится   -  person StakkelsMand    schedule 02.10.2013


Ответы (1)


вы никогда не увеличиваете totalDealerHandValue, просто перезаписывая значение снова и снова.

Замените эти две строки:

tempDealerHandValue = dealerHandValue;

totalDealerHandValue = (tempDealerHandValue) + (dealerHandValue);

с участием

totalDealerHandValue += dealerHandValue;
person tom    schedule 02.10.2013
comment
Спасибо ! Сначала это не сработало, это метод, при котором дилер показывает вторую карту, чтобы это сработало. Еще раз спасибо, чувак! Действительно помогло - person StakkelsMand; 02.10.2013