How to use random to choose colors
Without using additional imports it's fairly simple:
turtle.colormode(255) # sets the color mode to RGB
R = random.randrange(0, 256, 100) # last value optional (step)
B = random.randrange(0, 256)
G = random.randrange(0, 256)
# using step allows more control if needed
# for example the value of `100` would return `0`, `100` or `200` only
Rocket.color(R, G, B) ## randomized from values above
Using randomized values of (200
,255
,23
):
EDIT: Regarding "would i just change the turtle.colormode() to Rocket.colormode() for the next one?"
The way I would recommend doing it would be to create a function:
def drawColor():
turtle.colormode(255)
R = random.randrange(0, 256)
B = random.randrange(0, 256)
G = random.randrange(0, 256)
return R, G, B
Rocket.color(drawColor())
This way you can call drawColor()
anytime you want a new color.
Now that you have the basics of randomizing colors for your drawing you can get quite creative with the values for some awesome looking results (adjust integers to your liking):
#!/usr/bin/python
import turtle, math, random, time
def drawColor(a, b, o):
turtle.colormode(255)
R = random.randrange(a, b, o) # last value is step (optional)
B = random.randrange(a, b, o)
G = random.randrange(a, b, o)
# print(R, G, B)
return R, G, B
def drawRocket(offset):
Rocket = turtle.Turtle()
Rocket.speed(0)
Rocket.color(drawColor(20, 100, 1)) # start (0-256), end (0-256), offset
rotate=int(random.randrange(90))
drawSpecial(Rocket,random.randrange(0, 10), offset)
def drawCircles(t,size):
for i in range(30):
t.circle(size)
size = size - 20
def drawSpecial(t,size,repeat):
for i in range(repeat):
drawCircles(t,size)
t.right(360/repeat)
def drawMain(x, y):
wn = turtle.Screen()
wn.bgcolor(drawColor(0, 20, 2))
for i in range(3): # iterations
drawRocket(x)
x+=y
# print(x)
drawMain(2, 10) # offset, step
input("Press ENTER to exit")
random.choice
returns a random element from a sequence, just pass it a list with the values you want to choose from:
rand_color = random.choice(['blue', 'red'])
Rocket.color(rand_color)