Это мой код, который я не могу заставить работать. Это говорит о том, что мой объект не имеет атрибута Score, когда я пытаюсь получить очки player1 и player2 с player1.score
. Я проверил наличие ошибок в отступах и не смог их найти. Я не уверен, почему счет отсутствует, поскольку я дал ему self
. Я ввел объект класса с player1 = Player(PLAYER1, 1, DEFAULT_SETS)
с PLAYER1 и DEFAULT_SETS, являющимися переменными, которые я установил в файле настроек. Ошибка в части кода #points в классе Game.
class Game:
#Init function to start the game variables
def __init__(self):
pg.init()
self.screen = pg.display.set_mode((WIDTH, HEIGHT))
pg.display.set_caption(TITLE)
self.clock = pg.time.Clock()
pg.key.set_repeat(500,100)
#self.screen_scenario = WELCOME
self.load_data()
self.Game_Deuce = False
self.Game_Tiebreaker = False
#self.Game_Winner = False
self.sets = DEFAULT_SETS
self.serve = random.choice([1,2])
#Function to start a new game
def new(self):
self.paused = False
self.screen.fill(DARKGREEN)
player1 = Player(PLAYER1, 1, DEFAULT_SETS)
player2 = Player(PLAYER2, 0, DEFAULT_SETS)
#Function to run the scoreboard
def run(self):
self.playing = True
#pg.mixer.music.play(loops=-1)
#pg.mixer.music.set_volume(BG_MUSIC_VOLUME)
while self.playing:
self.dt = self.clock.tick(FPS) / 1000
self.events()
if not self.paused:
self.update()
self.draw()
#Points
self.draw_text(str(POINTS[player1.score]), self.points_font, 180, YELLOW, POINTS_BOX_X_2, POINTS_BOX_Y_2)
self.draw_text(str(POINTS[player2.score]), self.points_font, 180, YELLOW, POINTS_BOX_X_1, POINTS_BOX_Y_1)
Это отдельный файл, но он был импортирован правильно:
class Player:
def __init__(self, name, serving, sets):
self.name = name
sets = sets
self.score = int(0)
self.games = int(0)
self.sets = int(0)
self.advantage = False
if serving == 1:
self.serving = True