mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #10199: Moved Demo/turtle under Lib/
This commit is contained in:
parent
8291af2354
commit
ea13d9d86b
29 changed files with 32 additions and 481 deletions
60
Lib/turtledemo/colormixer.py
Normal file
60
Lib/turtledemo/colormixer.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
# colormixer
|
||||
|
||||
from turtle import Screen, Turtle, mainloop
|
||||
import sys
|
||||
sys.setrecursionlimit(20000) # overcomes, for now, an instability of Python 3.0
|
||||
|
||||
class ColorTurtle(Turtle):
|
||||
|
||||
def __init__(self, x, y):
|
||||
Turtle.__init__(self)
|
||||
self.shape("turtle")
|
||||
self.resizemode("user")
|
||||
self.shapesize(3,3,5)
|
||||
self.pensize(10)
|
||||
self._color = [0,0,0]
|
||||
self.x = x
|
||||
self._color[x] = y
|
||||
self.color(self._color)
|
||||
self.speed(0)
|
||||
self.left(90)
|
||||
self.pu()
|
||||
self.goto(x,0)
|
||||
self.pd()
|
||||
self.sety(1)
|
||||
self.pu()
|
||||
self.sety(y)
|
||||
self.pencolor("gray25")
|
||||
self.ondrag(self.shift)
|
||||
|
||||
def shift(self, x, y):
|
||||
self.sety(max(0,min(y,1)))
|
||||
self._color[self.x] = self.ycor()
|
||||
self.fillcolor(self._color)
|
||||
setbgcolor()
|
||||
|
||||
def setbgcolor():
|
||||
screen.bgcolor(red.ycor(), green.ycor(), blue.ycor())
|
||||
|
||||
def main():
|
||||
global screen, red, green, blue
|
||||
screen = Screen()
|
||||
screen.delay(0)
|
||||
screen.setworldcoordinates(-1, -0.3, 3, 1.3)
|
||||
|
||||
red = ColorTurtle(0, .5)
|
||||
green = ColorTurtle(1, .5)
|
||||
blue = ColorTurtle(2, .5)
|
||||
setbgcolor()
|
||||
|
||||
writer = Turtle()
|
||||
writer.ht()
|
||||
writer.pu()
|
||||
writer.goto(1,1.15)
|
||||
writer.write("DRAG!",align="center",font=("Arial",30,("bold","italic")))
|
||||
return "EVENTLOOP"
|
||||
|
||||
if __name__ == "__main__":
|
||||
msg = main()
|
||||
print(msg)
|
||||
mainloop()
|
Loading…
Add table
Add a link
Reference in a new issue