forked from Honlan/Python-Basic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path7_turtle_race_control_with_text.py
More file actions
92 lines (81 loc) · 2.26 KB
/
7_turtle_race_control_with_text.py
File metadata and controls
92 lines (81 loc) · 2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import turtle
import random
import time
t = turtle.Turtle()
t.speed(10)
t.penup()
t.goto(-200, 150)
for i in range(21):
t.write(i)
t.right(90)
t.pendown()
t.forward(300)
t.penup()
t.backward(300)
t.left(90)
t.forward(20)
alice = turtle.Turtle()
alice.shape('turtle')
alice.color('red')
alice.penup()
alice.goto(-220, 100)
ben = turtle.Turtle()
ben.shape('turtle')
ben.color('blue')
ben.penup()
ben.goto(-220, 0)
claire = turtle.Turtle()
claire.shape('turtle')
claire.color('green')
claire.penup()
claire.goto(-220, -100)
global max_speed_a, max_speed_b, max_speed_c, terminal, order
max_speed_a = 10
max_speed_b = 10
max_speed_c = 10
terminal = 200
order = 0
def key_a():
global max_speed_a, max_speed_b, max_speed_c, terminal, order
alice.forward(random.randrange(max_speed_a))
if alice.xcor() >= terminal and max_speed_a > 1:
max_speed_a = 1
t.goto(240, 90)
if order == 0:
t.write('冠军', font=('Arial', 20, 'normal'))
elif order == 1:
t.write('亚军', font=('Arial', 20, 'normal'))
elif order == 2:
t.write('季军', font=('Arial', 20, 'normal'))
order = order + 1
def key_b():
global max_speed_a, max_speed_b, max_speed_c, terminal, order
ben.forward(random.randrange(max_speed_b))
if ben.xcor() >= terminal and max_speed_b > 1:
max_speed_b = 1
t.goto(240, -10)
if order == 0:
t.write('冠军', font=('Arial', 20, 'normal'))
elif order == 1:
t.write('亚军', font=('Arial', 20, 'normal'))
elif order == 2:
t.write('季军', font=('Arial', 20, 'normal'))
order = order + 1
def key_c():
global max_speed_a, max_speed_b, max_speed_c, terminal, order
claire.forward(random.randrange(max_speed_c))
if claire.xcor() >= terminal and max_speed_c > 1:
max_speed_c = 1
t.goto(240, -110)
if order == 0:
t.write('冠军', font=('Arial', 20, 'normal'))
elif order == 1:
t.write('亚军', font=('Arial', 20, 'normal'))
elif order == 2:
t.write('季军', font=('Arial', 20, 'normal'))
order = order + 1
s = turtle.Screen()
s.onkey(key_a, 'a')
s.onkey(key_b, 'b')
s.onkey(key_c, 'c')
s.listen()