跳至正文
View Categories

1 min read

建议授课时长: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()

画观众区 #

# 画观众区
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()

画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()

开始赛跑 #

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()