此时我有一个游戏从屏幕顶部掉落掉落的彩色块(障碍物),目标是玩家躲闪说(障碍物)向左或向右移动。
我目前已经设置了每次用户运行脚本时,块会有不同的颜色,但问题是,在游戏过程中,它们仅是那种颜色,并且对于颜色不同,用户必须退出并重新运行脚本。
我的代码:
col1 = randint(1, 255)
col2 = randint(1, 255)
col3 = randint(1, 255)
block_color = (col1, col2, col3)
执行脚本后,上面的三个randints定义了一个随机颜色,稍后会在脚本中应用它。
我正在寻找关于我如何能够改变每个单块的颜色的建议。
因此,例如,一个块落下,它的randcolor为红色,然后第二个块落下,它的randcolor为蓝色等。
我想它会在每次块下降时定义3个随机整数的行,并将这三个rgb值应用于新块。我只是无法想象如何在python中实际编写它。
非常感谢任何帮助。谢谢。
答案 0 :(得分:0)
class block
def __init__(self):
(put the colour code here)
self.colour = (col1, col2, col3)
抱歉格式化,我在工作时在平板电脑上。
答案 1 :(得分:0)
实现此目的的一种简单方法是使用Block类,并在 init 方法中生成颜色,以便每个Block对象(您的障碍物)都具有不同的颜色。
class Block:
def __init__(self):
col1 = randint(1, 255)
col2 = randint(1, 255)
col3 = randint(1, 255)
self.block_color = (col1, col2, col3)
请注意,将randint INSIDE放在init方法中很重要,或者随机调用一次并用于整个游戏。这样,每个块都不同。
如果你在Block类中获得了所有的图像/矩形内容,那么块的代码将变得非常简单。
b1 = Block() # Makes a block object.
b1.block_color # Will access b1's unique color.
注意:如果您不使用课程,您问题的评论可以解决问题。但是,您通常需要具有独特属性的类(尤其是在视频游戏中),例如您遇到的障碍。