Hi everyone,
I have a problem on my project.Firstly,I am sharing my project code:
I have a problem on my project.Firstly,I am sharing my project code:
import pygame
import random
import math
pygame.init()
WIDTH = 450
HEIGHT = 450
COLOR = (255,255,255)
BALL_SIZE = 30
FINISHED = True
class Ball:
def __init__(self):
self.x = 0
self.y = 0
self.x_change = 0
self.y_change = 0
def make_ball():
ball = Ball()
ball.x = random.randint((BALL_SIZE),WIDTH-(BALL_SIZE))
ball.y = random.randint((BALL_SIZE),HEIGHT-(BALL_SIZE))
ball.x_change = 0
ball.y_change = 0
return ball
def main():
a = 1
CLOCK = pygame.time.Clock()
surface = pygame.display.set_mode((WIDTH,HEIGHT))
lst = []
lst_2 = []
make_bouncing_ball = make_ball()
lst.append(make_bouncing_ball)
while FINISHED:
for e in pygame.event.get():
if e.type == pygame.QUIT:
pygame.quit()
return 1
if e.type == pygame.KEYDOWN:
if e.key == pygame.K_SPACE:
spawn = make_ball()
lst.append(spawn)
a = a + 1
surface.fill(COLOR)
lst_2 = lst[:-1]
while (lst[-1].x - BALL_SIZE) < 0 or (lst[-1].x + BALL_SIZE)>WIDTH:
lst[-1].x = random.randint((BALL_SIZE),WIDTH-(BALL_SIZE))
while (lst[-1].y - BALL_SIZE) < 0 or (lst[-1].y + BALL_SIZE)>HEIGHT:
lst[-1].y = random.randint((BALL_SIZE),HEIGHT-(BALL_SIZE))
for bouncing_list in lst:
for bouncing_list_2 in lst_2:
if abs(bouncing_list.x - bouncing_list_2.x)<30:
print(bouncing_list.x,bouncing_list_2.x)
pygame.draw.circle(surface,(255,0,0),(bouncing_list.x,bouncing_list.y),BALL_SIZE,BALL_SIZE)
CLOCK.tick(30)
pygame.display.flip()
if __name__ == "__main__":
main()I want to make other balls and that balls never spawn with previous balls' side by side.I guess you can understand.Because my english not well :) If you solve this problem,I will happy.Have a nice day.
