Apr-18-2019, 03:15 PM
I am currently struggling through a class and have an EXTREMELY LIMITED understanding of what I am doing thus for so any detailed help (layman terms please) will be greatly appreciated
I need to implement the following and have been unsuccessful thus far: "after each 5 balls that you catch, you should increase the number of balls that are falling at a time. Each new ball that gets created should have a velocity set to a random integer (randint) between the initial velocity (20 in the original tutorial) and the current max velocity. Hint: You can create an array of dictionaries and iterate over that list to update/change all objects in a dictionary."

# Initializing pygame + some important variables import pygame from random import randint pygame.init() score = 0 total = 0 myfont = pygame.font.SysFont('monospace', 50) # Making dictionaries with settings for everything. display = { "width": 800, "height": 600 } #Increased Paddle Velocity paddle = { "width": 200, "height": 20, "x": 300, "y": 580, "velocity": 40 } ball = { "radius": 15, "y": 30, "x": randint(0, display["width"]), "velocity": 20 } # Launching the window, setting it to the dimensions of the `display` dictionary. win = pygame.display.set_mode((display["width"], display["height"])) # The Main game loop while True: pygame.time.delay(100) win.fill((255, 255, 255)) for event in pygame.event.get(): if event.type == pygame.QUIT: break keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: paddle["x"] -= paddle["velocity"] if keys[pygame.K_RIGHT]: paddle["x"] += paddle["velocity"] if ball["y"] + ball["radius"] >= paddle["y"]: if ball["x"] > paddle["x"] and ball["x"] < paddle["x"] + paddle["width"]: #Increase ball speed ball['velocity'] += 3 score += 1 total += 1 ball["y"] = ball["radius"] ball["x"] = randint(0, display["width"]) ball["y"] += ball["velocity"] pygame.draw.circle(win, (0, 0, 255), (ball["x"], ball["y"]), ball["radius"]) pygame.draw.rect(win, (255, 0, 0), (paddle["x"], paddle["y"], paddle["width"], paddle["height"])) #LOSE GAME if total - score >= 10: break textsurface = myfont.render("score: {0}/{1}".format(score, total), False, (0, 0, 0)) win.blit(textsurface, (10, 10)) pygame.display.update() pygame.quit()