建议授课时长:90分钟
游戏完成效果 #

窗口初始化 #
import time
import turtle
from turtle import Turtle
from random import randint
# 窗口初始化
window = turtle.Screen()
window.title("赛龟")
turtle.bgcolor("forestgreen")
turtle.color("white")
turtle.speed(0)
turtle.penup()
turtle.setpos(-110, 180)
turtle.write("赛 龟", font=("Arial", 25, "bold"))
turtle.penup()
import time
import turtle
from turtle import Turtle
from random import randint
# 窗口初始化
window = turtle.Screen()
window.title("赛龟")
turtle.bgcolor("forestgreen")
turtle.color("white")
turtle.speed(0)
turtle.penup()
turtle.setpos(-110, 180)
turtle.write("赛 龟", font=("Arial", 25, "bold"))
turtle.penup()
import time import turtle from turtle import Turtle from random import randint # 窗口初始化 window = turtle.Screen() window.title("赛龟") turtle.bgcolor("forestgreen") turtle.color("white") turtle.speed(0) turtle.penup() turtle.setpos(-110, 180) turtle.write("赛 龟", font=("Arial", 25, "bold")) turtle.penup()
画观众区 #
# 画观众区
turtle.setpos(-400, -180)
turtle.color("chocolate")
turtle.begin_fill()
turtle.pendown()
turtle.forward(800)
turtle.right(90)
turtle.forward(300)
turtle.right(90)
turtle.forward(800)
turtle.right(90)
turtle.forward(300)
turtle.end_fill()
# 画观众区
turtle.setpos(-400, -180)
turtle.color("chocolate")
turtle.begin_fill()
turtle.pendown()
turtle.forward(800)
turtle.right(90)
turtle.forward(300)
turtle.right(90)
turtle.forward(800)
turtle.right(90)
turtle.forward(300)
turtle.end_fill()
# 画观众区 turtle.setpos(-400, -180) turtle.color("chocolate") turtle.begin_fill() turtle.pendown() turtle.forward(800) turtle.right(90) turtle.forward(300) turtle.right(90) turtle.forward(800) turtle.right(90) turtle.forward(300) turtle.end_fill()
画终点线 #
# 画终点线
stamp_size = 20
square_size = 15
finish_line = 200
turtle.color("black")
turtle.shape("square")
turtle.shapesize(square_size / stamp_size)
turtle.penup()
for i in range(10):
turtle.setpos(finish_line, (150 - (i * square_size * 2)))
turtle.stamp()
for j in range(10):
turtle.setpos(finish_line + square_size, ((150 - square_size) - (j * square_size * 2)))
turtle.stamp()
turtle.hideturtle()
# 画终点线
stamp_size = 20
square_size = 15
finish_line = 200
turtle.color("black")
turtle.shape("square")
turtle.shapesize(square_size / stamp_size)
turtle.penup()
for i in range(10):
turtle.setpos(finish_line, (150 - (i * square_size * 2)))
turtle.stamp()
for j in range(10):
turtle.setpos(finish_line + square_size, ((150 - square_size) - (j * square_size * 2)))
turtle.stamp()
turtle.hideturtle()
# 画终点线 stamp_size = 20 square_size = 15 finish_line = 200 turtle.color("black") turtle.shape("square") turtle.shapesize(square_size / stamp_size) turtle.penup() for i in range(10): turtle.setpos(finish_line, (150 - (i * square_size * 2))) turtle.stamp() for j in range(10): turtle.setpos(finish_line + square_size, ((150 - square_size) - (j * square_size * 2))) turtle.stamp() turtle.hideturtle()
画4只乌龟 #
# 乌龟1
turtle1 = Turtle()
turtle1.speed(0)
turtle1.color("cyan")
turtle1.shape("turtle")
turtle1.penup()
turtle1.goto(-200, 100)
turtle1.pendown()
# 乌龟2
turtle2 = Turtle()
turtle2.speed(0)
turtle2.color("yellow")
turtle2.shape("turtle")
turtle2.penup()
turtle2.goto(-200, 40)
turtle2.pendown()
# 乌龟3
turtle3 = Turtle()
turtle3.speed(0)
turtle3.color("indigo")
turtle3.shape("turtle")
turtle3.penup()
turtle3.goto(-200, -20)
turtle3.pendown()
# 乌龟4
turtle4 = Turtle()
turtle4.speed(0)
turtle4.color("red")
turtle4.shape("turtle")
turtle4.penup()
turtle4.goto(-200, -80)
turtle4.pendown()
# 乌龟1
turtle1 = Turtle()
turtle1.speed(0)
turtle1.color("cyan")
turtle1.shape("turtle")
turtle1.penup()
turtle1.goto(-200, 100)
turtle1.pendown()
# 乌龟2
turtle2 = Turtle()
turtle2.speed(0)
turtle2.color("yellow")
turtle2.shape("turtle")
turtle2.penup()
turtle2.goto(-200, 40)
turtle2.pendown()
# 乌龟3
turtle3 = Turtle()
turtle3.speed(0)
turtle3.color("indigo")
turtle3.shape("turtle")
turtle3.penup()
turtle3.goto(-200, -20)
turtle3.pendown()
# 乌龟4
turtle4 = Turtle()
turtle4.speed(0)
turtle4.color("red")
turtle4.shape("turtle")
turtle4.penup()
turtle4.goto(-200, -80)
turtle4.pendown()
# 乌龟1 turtle1 = Turtle() turtle1.speed(0) turtle1.color("cyan") turtle1.shape("turtle") turtle1.penup() turtle1.goto(-200, 100) turtle1.pendown() # 乌龟2 turtle2 = Turtle() turtle2.speed(0) turtle2.color("yellow") turtle2.shape("turtle") turtle2.penup() turtle2.goto(-200, 40) turtle2.pendown() # 乌龟3 turtle3 = Turtle() turtle3.speed(0) turtle3.color("indigo") turtle3.shape("turtle") turtle3.penup() turtle3.goto(-200, -20) turtle3.pendown() # 乌龟4 turtle4 = Turtle() turtle4.speed(0) turtle4.color("red") turtle4.shape("turtle") turtle4.penup() turtle4.goto(-200, -80) turtle4.pendown()
开始赛跑 #
time.sleep(1)
# 乌龟开始赛跑
for i in range(145):
turtle1.forward(randint(1, 5))
turtle2.forward(randint(1, 5))
turtle3.forward(randint(1, 5))
turtle4.forward(randint(1, 5))
turtle.done()
time.sleep(1)
# 乌龟开始赛跑
for i in range(145):
turtle1.forward(randint(1, 5))
turtle2.forward(randint(1, 5))
turtle3.forward(randint(1, 5))
turtle4.forward(randint(1, 5))
turtle.done()
time.sleep(1) # 乌龟开始赛跑 for i in range(145): turtle1.forward(randint(1, 5)) turtle2.forward(randint(1, 5)) turtle3.forward(randint(1, 5)) turtle4.forward(randint(1, 5)) turtle.done()
完整代码 #
import time
import turtle
from turtle import Turtle
from random import randint
# 窗口初始化
window = turtle.Screen()
window.title("赛龟")
turtle.bgcolor("forestgreen")
turtle.color("white")
turtle.speed(0)
turtle.penup()
turtle.setpos(-110, 180)
turtle.write("赛 龟", font=("Arial", 25, "bold"))
turtle.penup()
# 画土地
turtle.setpos(-400, -180)
turtle.color("chocolate")
turtle.begin_fill()
turtle.pendown()
turtle.forward(800)
turtle.right(90)
turtle.forward(300)
turtle.right(90)
turtle.forward(800)
turtle.right(90)
turtle.forward(300)
turtle.end_fill()
# 画终点线
stamp_size = 20
square_size = 15
finish_line = 200
turtle.color("black")
turtle.shape("square")
turtle.shapesize(square_size / stamp_size)
turtle.penup()
for i in range(10):
turtle.setpos(finish_line, (150 - (i * square_size * 2)))
turtle.stamp()
for j in range(10):
turtle.setpos(finish_line + square_size, ((150 - square_size) - (j * square_size * 2)))
turtle.stamp()
turtle.hideturtle()
# 乌龟1
turtle1 = Turtle()
turtle1.speed(0)
turtle1.color("cyan")
turtle1.shape("turtle")
turtle1.penup()
turtle1.goto(-200, 100)
turtle1.pendown()
# 乌龟2
turtle2 = Turtle()
turtle2.speed(0)
turtle2.color("yellow")
turtle2.shape("turtle")
turtle2.penup()
turtle2.goto(-200, 40)
turtle2.pendown()
# 乌龟3
turtle3 = Turtle()
turtle3.speed(0)
turtle3.color("indigo")
turtle3.shape("turtle")
turtle3.penup()
turtle3.goto(-200, -20)
turtle3.pendown()
# 乌龟4
turtle4 = Turtle()
turtle4.speed(0)
turtle4.color("red")
turtle4.shape("turtle")
turtle4.penup()
turtle4.goto(-200, -80)
turtle4.pendown()
time.sleep(1)
# 乌龟开始赛跑
for i in range(145):
turtle1.forward(randint(1, 5))
turtle2.forward(randint(1, 5))
turtle3.forward(randint(1, 5))
turtle4.forward(randint(1, 5))
turtle.exitonclick()
import time
import turtle
from turtle import Turtle
from random import randint
# 窗口初始化
window = turtle.Screen()
window.title("赛龟")
turtle.bgcolor("forestgreen")
turtle.color("white")
turtle.speed(0)
turtle.penup()
turtle.setpos(-110, 180)
turtle.write("赛 龟", font=("Arial", 25, "bold"))
turtle.penup()
# 画土地
turtle.setpos(-400, -180)
turtle.color("chocolate")
turtle.begin_fill()
turtle.pendown()
turtle.forward(800)
turtle.right(90)
turtle.forward(300)
turtle.right(90)
turtle.forward(800)
turtle.right(90)
turtle.forward(300)
turtle.end_fill()
# 画终点线
stamp_size = 20
square_size = 15
finish_line = 200
turtle.color("black")
turtle.shape("square")
turtle.shapesize(square_size / stamp_size)
turtle.penup()
for i in range(10):
turtle.setpos(finish_line, (150 - (i * square_size * 2)))
turtle.stamp()
for j in range(10):
turtle.setpos(finish_line + square_size, ((150 - square_size) - (j * square_size * 2)))
turtle.stamp()
turtle.hideturtle()
# 乌龟1
turtle1 = Turtle()
turtle1.speed(0)
turtle1.color("cyan")
turtle1.shape("turtle")
turtle1.penup()
turtle1.goto(-200, 100)
turtle1.pendown()
# 乌龟2
turtle2 = Turtle()
turtle2.speed(0)
turtle2.color("yellow")
turtle2.shape("turtle")
turtle2.penup()
turtle2.goto(-200, 40)
turtle2.pendown()
# 乌龟3
turtle3 = Turtle()
turtle3.speed(0)
turtle3.color("indigo")
turtle3.shape("turtle")
turtle3.penup()
turtle3.goto(-200, -20)
turtle3.pendown()
# 乌龟4
turtle4 = Turtle()
turtle4.speed(0)
turtle4.color("red")
turtle4.shape("turtle")
turtle4.penup()
turtle4.goto(-200, -80)
turtle4.pendown()
time.sleep(1)
# 乌龟开始赛跑
for i in range(145):
turtle1.forward(randint(1, 5))
turtle2.forward(randint(1, 5))
turtle3.forward(randint(1, 5))
turtle4.forward(randint(1, 5))
turtle.exitonclick()
import time import turtle from turtle import Turtle from random import randint # 窗口初始化 window = turtle.Screen() window.title("赛龟") turtle.bgcolor("forestgreen") turtle.color("white") turtle.speed(0) turtle.penup() turtle.setpos(-110, 180) turtle.write("赛 龟", font=("Arial", 25, "bold")) turtle.penup() # 画土地 turtle.setpos(-400, -180) turtle.color("chocolate") turtle.begin_fill() turtle.pendown() turtle.forward(800) turtle.right(90) turtle.forward(300) turtle.right(90) turtle.forward(800) turtle.right(90) turtle.forward(300) turtle.end_fill() # 画终点线 stamp_size = 20 square_size = 15 finish_line = 200 turtle.color("black") turtle.shape("square") turtle.shapesize(square_size / stamp_size) turtle.penup() for i in range(10): turtle.setpos(finish_line, (150 - (i * square_size * 2))) turtle.stamp() for j in range(10): turtle.setpos(finish_line + square_size, ((150 - square_size) - (j * square_size * 2))) turtle.stamp() turtle.hideturtle() # 乌龟1 turtle1 = Turtle() turtle1.speed(0) turtle1.color("cyan") turtle1.shape("turtle") turtle1.penup() turtle1.goto(-200, 100) turtle1.pendown() # 乌龟2 turtle2 = Turtle() turtle2.speed(0) turtle2.color("yellow") turtle2.shape("turtle") turtle2.penup() turtle2.goto(-200, 40) turtle2.pendown() # 乌龟3 turtle3 = Turtle() turtle3.speed(0) turtle3.color("indigo") turtle3.shape("turtle") turtle3.penup() turtle3.goto(-200, -20) turtle3.pendown() # 乌龟4 turtle4 = Turtle() turtle4.speed(0) turtle4.color("red") turtle4.shape("turtle") turtle4.penup() turtle4.goto(-200, -80) turtle4.pendown() time.sleep(1) # 乌龟开始赛跑 for i in range(145): turtle1.forward(randint(1, 5)) turtle2.forward(randint(1, 5)) turtle3.forward(randint(1, 5)) turtle4.forward(randint(1, 5)) turtle.exitonclick()