PYTHON These four things need to be added to my code 1) add an additional ball after a certain score 2) add a random bal

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899603
Joined: Mon Aug 02, 2021 8:13 am

PYTHON These four things need to be added to my code 1) add an additional ball after a certain score 2) add a random bal

Post by answerhappygod »

PYTHON
These four things need to be added to my code
1) add an additional ball after a certain score
2) add a random ball spawning
3) add a 3rd playet at the top of bottom
3) change background after a certain score
import pygame
pygame.init()
SCR_WID, SCR_HEI = 640, 480
class Player():
def __init__(self, screen, x, y):
self.screen = screen
self.x, self.y = x, y
self.speed = 3
self.padWid, self.padHei = 8, 64
self.score = 0
self.scoreFont = pygame.font.Font("freesansbold.ttf", 64)
def scoring(self, name, x, y):
scoreBlit = self.scoreFont.render(str(self.score), 1, (255, 255, 255))
self.screen.blit(scoreBlit, (x, y))
if self.score == 10:
print (name + " wins!")
exit()
def movement(self, key_up, key_down):
keys = pygame.key.get_pressed()
if keys[key_up]:
self.y -= self.speed
elif keys[key_down]:
self.y += self.speed
if self.y <= 0:
self.y = 0
elif self.y >= SCR_HEI-64:
self.y = SCR_HEI-64
def draw(self):
pygame.draw.rect(self.screen, (255, 255, 255), (self.x, self.y, self.padWid, self.padHei))
class Ball():
def __init__(self, screen, player: Player, enemy: Player):
self.screen = screen
self.player = player
self.enemy = enemy
self.x, self.y = SCR_WID/2, SCR_HEI/2
self.speed_x = -3
self.speed_y = 3
self.size = 8
def movement(self):
self.x += self.speed_x
self.y += self.speed_y
#wall col
if self.y <= 0:
self.speed_y *= -1
elif self.y >= SCR_HEI-self.size:
self.speed_y *= -1
if self.x <= 0:
self.__init__(self.screen, self.player, self.enemy)
self.enemy.score += 1
elif self.x >= SCR_WID-self.size:
self.__init__(self.screen, self.player, self.enemy)
self.speed_x = 3
self.player.score += 1
##wall col
#paddle col
#player
for n in range(-self.size, self.player.padHei):
if self.y == self.player.y + n:
if self.x <= self.player.x + self.player.padWid:
self.speed_x *= -1
break
n += 1
#enemy
for n in range(-self.size, self.enemy.padHei):
if self.y == self.enemy.y + n:
if self.x >= self.enemy.x - self.enemy.padWid:
self.speed_x *= -1
break
n += 1
##paddle col
def draw(self):
pygame.draw.rect(self.screen, (255, 255, 255), (self.x, self.y, 8, 8))
def main():
screen = pygame.display.set_mode((SCR_WID, SCR_HEI))
pygame.display.set_caption("Pong")
pygame.font.init()
clock = pygame.time.Clock()
FPS = 60
player = Player(screen, 16, SCR_HEI/2)
enemy = Player(screen, SCR_WID-16, SCR_HEI/2)
ball = Ball(screen, player, enemy)
while True:
#processss
for event in pygame.event.get():
if event.type == pygame.QUIT:
print ("Game exited by user")
exit()
##process
#logic
ball.movement()
player.movement(pygame.K_w, pygame.K_s)
enemy.movement(pygame.K_UP, pygame.K_DOWN)
##logic
#draw
screen.fill((0, 0, 128))
ball.draw()
player.draw()
player.scoring("Player 1", 32, 16)
enemy.draw()
enemy.scoring("Enemy", SCR_HEI + 92, 16)
##draw
#_______
pygame.display.flip()
clock.tick(FPS)
if __name__ == "__main__":
main()
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply