python画动态星空_python3的turtle画模仿3d星空、运动的恒星小宇宙
发布日期:2022-02-04 03:25:44 浏览次数:10 分类:技术文章

本文共 2378 字,大约阅读时间需要 7 分钟。

#---第1步---导入模块---

from turtle import *

from random importrandom,randint#---第2步---初始化定义---#---定义屏幕,窗口大小,标题,背景颜色

screen =Screen()#---大一点效果好一点---

width ,height = 1600,1200screen.setup(width,height)

screen.title('浪漫星空')

screen.bgcolor("black")#设置或返回以毫秒为单位的绘制延迟,延迟越大,绘图越慢

screen.delay(0)#---第3步---定义3种不同颜色的星球,大小、速度、位置、形状不同---#shape():设置乌龟的图形形状,取值:“arrow”, “turtle”, “circle”, “square”, “triangle”, “classic”#---星球---白色星星---

t = Turtle(visible = False,shape='circle')

t.pencolor("white")#海龟的颜色,也就是飞动的星球的颜色

t.fillcolor("blue")

t.penup()#旋转角度

t.setheading(-10)#坐标是随机的

t.goto(width/2,randint(-height/2,height/2))#---星球2---绿色远处小星星---

t2 = Turtle(visible = False,shape='turtle')#海龟的颜色,也就是飞动的星球的颜色

t2.fillcolor("green")

t2.penup()

t2.setheading(-50)#坐标是随机的

t2.goto(width,randint(-height,height))#---星球3---近的红色恒星---

t3 = Turtle(visible = False,shape='circle')#海龟的颜色,也就是飞动的星球的颜色

t3.fillcolor("red")

t3.penup()

t3.setheading(-90)#坐标是随机的

t3.goto(width*2,randint(-height*2,height*2))#---第4步---定义星球列表---用于存放---

stars =[]

stars2=[]

stars3=[]#---第5步---定义3种星球的大小、速度、位置并存放各自列表中---#---注意200为画200个各自星球就退出,注意太多了要卡死的---

for i in range(200):

star=t.clone()#决定星球的大小

s= random()/3star.shapesize(s,s)

star.speed(int(s*10))#随机产生坐标

star.setx(width/2 + randint(1,width))

star.sety(randint(-height/2,height/2))

star.showturtle()

stars.append(star)for i in range(200):

star2=t2.clone()#决定星球的大小

s2= random()/2star2.shapesize(s2,s2)

star2.speed(int(s*10))

star2.setx(width/2 + randint(1,width))

star2.sety(randint(-height/2,height/2))

star2.showturtle()

stars2.append(star2)for i in range(200):

star3=t3.clone()#决定星球的大小

s3= random()*5star3.shapesize(10*s3,10*s3)

star3.speed(int(s3*10))

star3.setx(width*2 + randint(1,width))

star3.sety(randint(-height*2,height*2))

star3.showturtle()

stars3.append(star3)#---第6步---游戏循环---各自星球的启动

whileTrue:for star instars:

star.setx(star.xcor()- 3 *star.speed())if star.xcor()

star.hideturtle()

star.setx(width/2 + randint(1,width))

star.sety( randint(-height/2,height/2))

star.showturtle()for star2 instars2:

star2.setx(star2.xcor()- 3 *star2.speed())if star2.xcor()

star2.hideturtle()

star2.setx(width/2 + randint(1,width))

star2.sety( randint(-height/2,height*2))

star2.showturtle()for star3 instars3:

star3.setx(star3.xcor()- 3 *star3.speed())if star3.xcor()

star3.hideturtle()

star3.setx(width*2 + randint(1,width))

star3.sety( randint(-height*2,height*2))

star3.showturtle()

转载地址:https://blog.csdn.net/weixin_39626369/article/details/110911620 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python删除列表元素delete_Python3 tkinter基础 Listbox delete 删除单个、所有元素
下一篇:permute函数_Pytorch之contiguous函数

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月11日 13时29分50秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章