2016-10-24 8 views
-2

私はブラックジャックゲームの種類をプログラミングしています。この試合ではディーラーとプレーヤーの健康がそれぞれ100になるようにしたいと思っています。もし彼らが手を失った場合、彼らは10の健康を失います。これらのうちの1つが0の状態になるまで続きます。私はゲームに健康を加える方法を理解することはできません。以下はPython Blackjackゲームの質問

今のようなゲームです。

import random 
newgame = 0 

def get_card(): 
    #I did random from 1,11 to reduce card counting. 
    return random.randint(1, 11) 

def player(): 
    blackjack = False 
    total = 0 

    print('************ YOUR TURN ************') 

    card1 = get_card() 
    card2 = get_card() 
    total = card1 + card2 

    print("Cards: " + str(card1) + " " + str(card2)) 
    print("Total: " + str(total)) 
    if total is 21: 
     blackjack = True 

    while total < 21: 
     option = raw_input('Type "S" to stay or "H" to hit ') 
     if option == 's' or option == 'S': 
      break 
     card1 = get_card() 
     print("\nDraws: " + str(card1)) 
     total += card1 
     print("Total: " + str(total)) 
    return total, blackjack 


def dealer(): 
    print("\n********** DEALER'S TURN **********") 

    total = 0 
    card1 = get_card() 
    card2 = get_card() 
    total = card1 + card2 

    print("Cards: " + str(card1) + " " + str(card2)) 
    print("Total: " + str(total)) 
    while total <= 16: 
     raw_input('Press <enter> to continue ...') 
     card1 = get_card() 
     print("\nDraws: " + str(card1)) 
     total += card1 
     print("Total: " + str(total)) 
    return total 

def main(): 
    play_again = True 


    while play_again: 
     player_total, blackjack = player() 
     player_wins = False 
     dealer_wins = False 
     if blackjack: 
      print('Blackjack!') 
      player_wins = True 


     if player_total > 21: 
      print('Bust!') 
      dealer_wins = True 

     if player_wins is False and dealer_wins is False: 
      dealer_total = dealer() 
      if dealer_total > 21: 
       print('Bust!') 
       player_wins = True 
      elif player_total > dealer_total: 
       player_wins = True 
      else: 
       dealer_wins = True 

     print("\n********** GAME OVER **********") 
     if player_wins: 
      print('You win!') 
     elif dealer_wins: 
      print('Dealer wins!') 
     while True: 
      again = raw_input('Type "P" to play again or "Q" to quit: ') 
      if again.upper() == "Q": 
       print("Game ended.") 
       play_again = False 
       break 
      elif again.upper() == "P": 
       break 
main() 
+2

「健康状態」の追加について「何を試しましたか」、どのような問題がありましたか? –

+0

私は健康状態を変えて100に設定し、ディーラーか選手のいずれかが健康を失ったが、それが失われてしまったので、その10を作るように試みた。 – Nick

+0

そしてそのコードはどこにありますか? – TigerhawkT3

答えて

-1

あなたは間違いなくあなたは、いくつかの選手を含めたい場合は、オブジェクト指向のアプローチを使用したいと思います。 https://www.tutorialspoint.com/python/python_classes_objects.htm

メイン関数に追加したい場合は、hp = 100変数を追加することをお勧めします。たびにそれはバスト、それから10を控除します。 hp == 0の場合は、ゲームを終了します。

-1

プレーヤーとディーラーの健康状態を100に設定して、失うたびに10回だけ離してください。ディーラーの勝利の下でのプレーヤーの健康状態とプレイヤーの勝利の下でのディーラーの健康状態を減少させます。かなり単純です。