欢迎访问宙启技术站
智能推送

用Pythonturtle库绘制一个随机的星空背景

发布时间:2024-01-15 13:04:28

import turtle

import random

# 定义窗口尺寸和颜色

window_width = 800

window_height = 600

window_color = "black"

# 定义星星的颜色列表

star_colors = ["white", "yellow", "red", "blue", "green"]

# 创建窗口

window = turtle.Screen()

window.setup(window_width, window_height)

window.bgcolor(window_color)

# 创建画笔

pen = turtle.Turtle()

pen.hideturtle()

pen.speed(0)

# 绘制星星函数

def draw_star(x, y, size, color):

    pen.penup()

    pen.goto(x, y)

    pen.pendown()

    pen.color(color)

    pen.begin_fill()

    for _ in range(5):

        pen.forward(size)

        pen.right(144)

    pen.end_fill()

# 绘制随机星空背景

def draw_stars(num_stars):

    for _ in range(num_stars):

        x = random.randint(-window_width//2, window_width//2)

        y = random.randint(-window_height//2, window_height//2)

        size = random.randint(1, 5)

        color = random.choice(star_colors)

        draw_star(x, y, size, color)

# 绘制例子

def draw_example():

    example_pen = turtle.Turtle()

    example_pen.hideturtle()

    example_pen.speed(0)

    example_pen.penup()

    example_pen.goto(0, -window_height//3)

    example_pen.pendown()

    example_pen.color("white")

    example_pen.write("Random Star Sky Example", align="center", font=("Arial", 24, "bold"))

# 绘制星空背景

draw_stars(500)

# 绘制例子

draw_example()

# 隐藏画笔

pen.hideturtle()

# 解决窗口关闭后闪退问题

turtle.done()