私はPythonを初めて使用し、しばらくの間Pythonでマルチプレイヤーブラックジャックゲームを作成しようとしています。私は非常に多くの問題に直面しており、皆さんが私を助けてくれるかどうか疑問に思っていました.
import random
def total(hand):
aces = hand.count(11)
t = sum(hand)
if t > 21 and aces > 0:
while aces > 0 and t > 21:
t -= 10
aces -= 1
return t
Cards = ["2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "AH", "JH", "QH", "KH", "AC", "JC", "QC", "KC", "AS", "JS", "QS", "KS", "AD", "JD", "QD", "KD"]
Cards[35] = 11
Cards[36] = 10
Cards[37] = 10
Cards[38] = 10
Cards[39] = 11
Cards[40] = 10
Cards[41] = 10
Cards[42] = 10
Cards[43] = 11
Cards[44] = 10
Cards[45] = 10
Cards[46] = 10
Cards[47] = 11
Cards[48] = 10
Cards[49] = 10
Cards[50] = 10
Players = raw_input("How many players are there?")
for i in range Players:
Player i = []
Player i.append(choice(Cards))
Player i.append(choice(Cards))
tp = total(player)
print "Player" + i + "Cards: " + Player i + "," + "total: " + tp
hitorstand = raw_input("hit (h) or stand (s)?")
if hitorstand == "h":
Player i.append(choice(cards))
print ("hit (h) or stand (s)?")
elif hitorstand == "s":
break
else print "Please enter h or s"
dealer = []
While True:
dealer.append(choice(cards))
dealer.append(choice(cards))
td = total(dealer)
while td > 17:
dealer.append(choice(cards))
else:
break
if td < tp < 21:
"Player i wins"
else print "dealer wins"
これは私がこれまでに持っているものです。意味不明で動作しないコードがたくさんあることは理解しています。コードの何が問題なのかを教えていただけないでしょうか。それを修正する方法についていくつかのオプションを提案してください。
今の私の主な懸念事項:
「マルチプレイヤー」ブラックジャック ゲームを作成しています。マルチプレイヤー ブラックジャック ゲームのループを作成する方法がわかりません。私のコードでは、何人の人がプレイしているかを尋ねました。番号がわからないままゲームのループを作成するにはどうすればよいですか?
また、何人のプレイヤーがプレイしているかを知らずに勝者を見つける関数を作成するにはどうすればよいですか?
入力した後
Players = raw_input("How many players are there?") for i in range Players:
for ループ内で
Players
構文エラーが発生します。なにが問題ですか?
更新として、リストの作成についてあなたが言ったことについて考えましたが、勝者を見つけるためにコードを作成する方法をまだよく理解していません.
例えば
リストを作っても、実際にプレイしているプレイヤーの数がわからなければ、リストの要素を比較することはできません。何人が遊んでいるか知っていたら、
playerlist = [1,2,3]
私は言うことができます
if playerlist[0] > playerlist[1], playerlist[2] and playerlist[0] < 21:
then print "player 1 wins!"
しかし、ユーザーが実際に入力するまで何人がプレイしているか分からないので、勝者のコードをどのように記述すればよいかわかりません。
「これが他より大きければ」という言い方があるかどうかはわかりません。私は「これがそれよりも大きい場合」と言う方法しか知りません。
Pythonで「これが残りよりも大きい場合」と言う方法はありますか? そうでない場合は、勝者を見つけるためのコードを作成するための提案を教えてください。