I am trying to get my text to update my score when my ball hits the wall behind the paddle or when it hits the paddle. How would I go about this?
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
I have all of my data member outside my score function but i feel like it is where I blit the surface
You should move your self.string = ...
line from your __init__()
method into your draw()
method.