Как мне получить мой счет, чтобы обновить мой текст в понг?
Я пытаюсь получить свой текст, чтобы обновить мой счет, когда мой мяч падает на стену за веслом или когда он попадает на весло. Как бы я пошел по этому поводу?
import pygame
import ball
import paddle
class Points:
def __init__(self,x,y):
self.x=x
self.y=y
self.color= (255,0,0)
font_height = 25
self.Font = pygame.font.SysFont("calibri",font_height)
self.count = 0
self.comp = 0
self.player = 0
self.point = 0
self.ball = ball.Ball(x, y)
self.string = ("player: " + str(self.player)+" computer: " + str(self.comp))
def draw(self,surface):
text_object = self.Font.render(self.string, False, self.color)
text_rect = text_object.get_rect()
text_rect.center = (self.x, self.y)
surface.blit(text_object, text_rect)
def score(self, paddle):
if self.ball.x - self.ball.x2 <= 0:
self.count += 1
self.comp = self.count
elif (self.ball.x < paddle.getX() + paddle.getW()
and self.ball.y > paddle.getY()
and self.ball.y <= paddle.getY() + paddle.getH()):
self.point +=1
self.player = self.point
У меня есть все мои члены данных за пределами моей функции счета, но я чувствую, что это где я блещу поверхность
1 ответ
Решение
Вы должны переместить self.string = ...
линия от вашего __init__()
метод в ваш draw()
метод.