【发布时间】:2020-10-01 05:27:38
【问题描述】:
我创建了一个类来存储游戏中的玩家。我在循环中附加玩家的详细信息以创建对象。我对如何最好地存储当前播放器的详细信息(列表中的第一个)以及如何使用函数进入下一个播放器感到困惑。即第一名到第二名;第 2 到第 3 等等。使用字典而不是类会更好吗?任何想法都非常感谢。
class Player: # Create a class and structure
score = 0
def __init__(self, pnum, name, score, round):
self.pnum = pnum
self.name = name
self.score = score
self.round = round
def CreatePlayers():
a = int(input("Please enter the number of players\t "))
player = [] # Create List Array
for i in range(a): # populate list using class
player.append(Player(i, input("Enter Name:\t"), 0, 0))
print("\n")
for x in range(len(player)): # print from class
print(player[x].pnum, player[x].name, "\tScore:\t ", player[x].score,
"\tRound:\t ", player[x].round)
global current_player
current_player = (player[0].pnum, player[0].name, player[0].score,
player[0].round)
【问题讨论】:
-
您已经在遍历播放器以将它们打印出来。接下来你打算对每个玩家做什么?
-
感谢您查看此内容。你是对的,我正在迭代打印玩家。抱歉不清楚。我的目的是创建基于骰子的游戏,当前玩家可以掷骰子直到他被淘汰,然后代码将前进到下一个玩家,使该玩家成为新的当前玩家。
-
首先编写一个函数,该函数接受一个玩家并允许该玩家按照您的描述进行游戏。然后你可以考虑迭代所有玩家来玩。
-
我认为这很有意义。谢谢。
标签: python function class iteration