如何在pygame中为每个圆圈赋予随机颜色?

问题描述

在此程序中,我需要一个较大的可移动圆和许多彩色的较小圆。但是,当我运行程序时,所有较小的圆圈都是相同的颜色,因此我无法弄清楚如何随机地给每个圆圈赋予不同的颜色。我该如何解决

## reading data as df0 to preserve it for both solutions
read.table(text="Sample_Date Site_Code   Arsenic Barium  Boron   Antimony
.   .   ug/L    ug/L    ug/L    ug/L
.   .   TM66TW  TM66TW  TM66TW  TM66FW
21/07/2016  1   0.7 88.6    24  <0.3
21/07/2016  A   0.7 110 19  <0.3
15/09/2016  1   0.5 67  32  <0.3
15/09/2016  A   0.4 96.5    22  <0.3
15/09/2016  2   0.6 122 26  <0.3",header= T) -> df0

解决方法

在主循环中,您使用的是i,它永远不变。在循环浏览位置集合时,使用枚举返回索引。

尝试以下代码:

for i,locate in enumerate(locations):
    pg.draw.circle(screen,(small_color[i]),locate,5)
,

确保在第一行导入random库:

import random as rd

这是一个简单的函数,它会产生随机的颜色:

def random_color():
    r = rd.randint(0,255)
    g = rd.randint(0,255)
    b = rd.randint(0,255)
    return (r,g,b)

因此您也可以在需要时调用它:

    color = random_color()
    draw.circle(screen,color,(x,y),SIZE)   

Github存储库

我在GitHub上做了一个仓库,做了一些修改, 点是彩色的,新的点会变成随机的颜色,吃点时球会变大。

enter image description here

https://github.com/peymanmajidi/Ball-And-Dots-Game__Pygame