2013-10-02 115 views
0

我的二十一點遊戲中的經銷商手法有問題。Blackjack println遊戲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語句結束。

我對這個問題失明瞭,我知道它很容易修復。 任何人都可以幫助我對我失蹤?

+0

什麼問題?我不明白你在問什麼。 – tom

+0

我需要將tempDealerHandValue添加到totalDealerHandValue中,每次繪製新卡時,直到while循環結束 – StakkelsMand

+0

請參閱下面的答案 – tom

回答

1

你永遠不會增加totalDealerHandValue,只是重複覆蓋值。

替換這些兩行:

tempDealerHandValue = dealerHandValue; 

totalDealerHandValue = (tempDealerHandValue) + (dealerHandValue); 

totalDealerHandValue += dealerHandValue; 
+0

謝謝!這沒有起作用,我的經銷商顯示第二張牌的方法才能起作用。再次感謝人!真的幫助 – StakkelsMand

+0

很酷,很高興它爲你工作:) – tom