在Python中我的第一个“大”项目,我试图让simon says游戏的克隆与pygame的在python中动态创建变量名?
()方法需要我来检测实例是什么颜色(self.color) 和改变颜色的闪烁基于此。
那么红到鲜明,蓝到brightblue等问题是,我现在的代码是非常漫长和丑陋的,我知道必须有一个更好的方式来做到这一点。
这是我的丑陋的代码:
def blink(self):
if self.color == red:
self.color = brightred
elif self.color == blue:
self.color = brightblue
elif self.color == green:
self.color = brightgreen
所定义的颜色:
black = (0,0,0)
white = (255,255,255)
red = (150,0,0)
green = (0,150,0)
blue = (0,0,150)
yellow = (150,150,0)
brightred = (255,0,0)
brightgreen = (0,255,0)
brightblue = (0,0,255)
brightyellow = (255,255,0)
最后包含此方法的类:
class rec:
def __init__(self,left,top,size,color):
self.left = left
self.top = top
self.size = size
self.color = color
self.rect = pygame.Rect(self.left,self.top,self.size,self.size)
pygame.draw.rect(d,self.color,self.rect)
pygame.display.update()
def blink(self):
if self.color == red:
self.color = brightred
elif self.color == blue:
self.color = brightblue
elif self.color == green:
self.color = brightgreen
elif self.color == yellow:
self.color = brightyellow
pygame.draw.rect(d,self.color,self.rect)
pygame.display.update() # Not finished
对不起,我不明白的问题。这里有什么问题?你的目标是什么? –