我写了我的毕业项目的代码,它是一个在墙上弹跳的代码。我想要做两个球,所以我创建了一个类,并创建了几个函数。但我认为我的代码没有起作用。
ValueError: invalid color argument in my pygame code
import pygame
import random
pygame.init()
screensize = (800, 600)
screen = pygame.display.set_mode(screensize)
pygame.display.set_caption("Final project")
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
RED = (255, 0, 0)
radius = 25 # 공의 크기
color_list = [RED, BLUE, GREEN]
x = 0
y = 0
x1 = 0
y1 = 0
dx = 2
dy = 2
color = color_list
class ball:
def create_ball(self):
self.x = random.randint(radius, screensize[0]-radius)
self.y = random.randint(radius, screensize[1]-radius)
self.x1 = random.randint(radius, screensize[0]-radius)
self.y1 = random.randint(radius, screensize[1]-radius)
self.color = random.choice(color_list)
def move_ball(self):
self.x = x + dx
self.y = y + dy
if not radius < x < screensize[0]-radius:
dx = -dx
color = random.choice(color_list)
elif not radius < y < screensize[1]-radius:
dy = -dy
color = random.choice(color_list)
def move_ball1(self):
self.x1 = x1 + dx
self.y1 = y1 + dy
if not radius < x1 < screensize[0]-radius:
dx = -dx
color = random.choice(color_list)
elif not radius < y1 < screensize[1]-radius:
dy = -dy
color = random.choice(color_list)
b = ball()
print(b)
go = True
while go:
clock = pygame.time.Clock()
clock.tick(150)
for event in pygame.event.get():
if event.type == pygame.QUIT:
go = False
screen.fill(WHITE)
pygame.draw.circle(screen, color, (x, y), radius)
pygame.draw.circle(screen, color, (x1, y1), radius)
pygame.display.flip()