阅读 200

中秋阴天看不见月亮只好用python写赏月工具

女神约我去赏月!我一看中秋节可能会下雨,立马用Python写了款赏月工具!本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下

一年中秋至 又见圆月时

导语

假设农历八月十五,程序员错过了今年的中秋圆月。

程序员的苦只有他们寄几知道

bug,bug,bug,bug,bug,bug……

吃饭时在改bug,走路时在改bug,约会时在改bug,结婚时在改bug

就连中秋佳节也还!在!改!bug!


不过做为一枚上知《边城》下知编程的程序员,没有什么可以难倒他

“不就是中秋的圆月亮吗?”三分钟以后…程序员自己用Python画了一个

Python版中秋圆月!甚至可以的话,我每天都可以赏月过中秋~

正文

环境安装:使用turtle绘制、游戏模块pygame模块照旧。


(1)首先绘制圆月。

1
2
3
4
5
6
7
8
def drawMoon():
    turtle.penup()   #画笔拿起
    turtle.goto(-150, 0)
    turtle.fillcolor((255, 215, 0))   #圆月的颜色
    turtle.pendown()   #画笔放下
    turtle.begin_fill()
    turtle.circle(112)
    turtle.end_fill()  #turtle.begin_fill() 到turtle.end_fill() 颜色填充

(2)然后绘制云层。

稍微有点儿复杂,因为云是飘动的,所以比月亮难一点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def drawCloud():
   turtle.penup()
   turtle.goto(-500, 200)
   turtle.fillcolor((245, 245, 245))
   turtle.pencolor((255, 255, 255))
   turtle.pensize(5)
   turtle.pendown()
   turtle.forward(250)
   def cloud(mode='right'):
      for i in range(90):
         turtle.pensize((i+1)*0.2+5)
         turtle.right(1) if mode == 'right' else turtle.left(1)
         turtle.forward(0.5)
      for i in range(90):
         turtle.pensize(90*0.2+5-0.2*(i+1))
         turtle.right(1) if mode == 'right' else turtle.left(1)
         turtle.forward(0.5)
   cloud()
   turtle.forward(100)
   cloud('left')
   turtle.forward(600)

(3)绘制山川。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def drawMountain():
   turtle.penup()
   turtle.goto(-500, -250)
   turtle.pensize(4)
   turtle.fillcolor((36, 36, 36))
   turtle.pencolor((31, 28, 24))
   turtle.pendown()
   turtle.begin_fill()
   turtle.left(20)
   turtle.forward(400)
   turtle.right(45)
   turtle.forward(200)
   turtle.left(60)
   turtle.forward(300)
   turtle.right(70)
   turtle.forward(300)
   turtle.goto(500, -300)
   turtle.goto(-500, -300)
   turtle.end_fill()

(4)设置界面,进界面就有音乐播放。

1
2
3
4
5
6
7
8
9
10
def initTurtle():
   pygame.mixer.init()
   pygame.mixer.music.load('bgm.mp3')
   pygame.mixer.music.play(-1, 20.0)
   turtle.hideturtle()
   turtle.setup(1000, 600)
   turtle.title('中秋赏月')
   turtle.colormode(255)
   turtle.bgcolor((193, 210, 240))
   turtle.speed(10)

(5)绘制诗句。

1
2
3
4
5
6
7
8
9
10
11
12
13
def writePoetry():
    turtle.penup()
    turtle.goto(400, -150)
    turtle.pencolor((250, 240, 230))
    # 诗句
    potery = ["\n明\n月\n几\n时\n有\n", "把\n酒\n问\n青\n天\n"]
    # 诗句位置(可自行设计添加), 最好2/4句五言诗
    coordinates = [(300, -150), (200, -150), (100, -150)]
    for i, p in enumerate(potery):
        turtle.write(p, align="center", font=("STXingkai", 50, "bold"))
        if (i + 1) != len(potery):
            time.sleep(2)
            turtle.goto(coordinates[i])

效果图:

总结

中秋赏月,木木子就先带你们先赏为敬了哈~


原文链接:https://blog.csdn.net/weixin_55822277/article/details/120179765

    服务器评测 http://www.cncsto.com/ 

    服务器测评 http://www.cncsto.com/ 

    站长资源 https://www.cscnn.com/ 

    小鱼创业 https://www.237fa.com/ 


    文章分类
    后端
    版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
    相关推荐