私は、ゲームのSnakeeyesのバージョンを作成しようとしています。これは、プログラムの最初にnを取ります.nはプレーヤーの数です。しかし、私はそれがPythonの作品とどのクラス(など)は、これを高速化するために使用することができる方法であるため、私の認識の甘さで動作させることはできませんクラスデータを配列に格納し、必要に応じてこのデータを呼び出すにはどうすればよいですか?
import random
def rollDice():
dice = random.randint(1, 6)
print "You rolled a", dice
return dice
def addUser(name):
name = player()
print name, "is a player"
class player():
score = 0
players = []
def __init__(self):
score = 0
player.score = score
def addScore(self, dice1, dice2):
if dice1 == 1 or dice2 == 1:
player.score = 0
if dice1 == 1 and dice2 == 1:
print "SNAKE EYES"
else:
player.score += dice1
player.score += dice2
return player.score
def dispScore(self):
return player.score
numbp = int(input("Please enter number of players \n"))
plyarr = dict()
for x in range(numbp):
plyarr[x] = player()
plyarr[x].addScore(rollDice(),rollDice())
for x in range(numbp):
print plyarr[x].score
:
はこれまでのところ、私ははるかにこれを取得するために管理していますプログラミングの一種。主な問題は、辞書内の同じ場所を上書きすることです(辞書を使用する場合)。
は、[OK]を、あなたが変数と呼ばれるプレーヤーを使用している次のようにあなたがそれを行うことができ
そして最後に、あなたのプレイヤーのスコアを表示する(元のコードに小さな変更をしました)あなたのクラスで。このクラスでは定義されていません。そしてあなたはプレイヤーリストをどこで使用しますか? –
その変数は、クラスをループで使用する前の試みの残りの部分です。私はdispScore()メソッドの後にプレイヤーリストを使用しますが、それ以降は何もしません。私はそれまでのforループを持っていましたが、これはnまでxを繰り返して、そのクラスをプレイヤーにコールします。[x] – bkoohy
私の答えにあなたのプレーヤークラスを書きました。このクラスがあなたの意図どおりに機能するかどうかを確認できますか? (私はゲームに精通していません) –